REFSKRIPT ; ; Beginn GET_N_PARAMS GET_RESULT np RETURN_IF_EQUAL np 0 ANIM_FX GET_PARAM_NR 1 GET_RESULT modus GET_PARAM_NR 2 GET_RESULT afxname IF_STR_EQUAL_GOTO modus INIT init IF_STR_EQUAL_GOTO modus INIT_READ init_read IF_STR_EQUAL_GOTO modus START start IF_STR_EQUAL_GOTO modus PRE_RENDER prerender IF_STR_EQUAL_GOTO modus AFTER_RENDER afterrender IF_STR_EQUAL_GOTO modus FINISH finish IF_STR_EQUAL_GOTO modus GET_OBJS get_objs IF_STR_EQUAL_GOTO modus SET_OBJS set_objs IF_STR_EQUAL_GOTO modus GET_INFO get_info MELDUNG Falscher Aufruf RETURN 0 ;***************************************************** >init: GET_OBJEKT "Welches Objekt?" 3 RETURN_IF_ABBRUCH AB GET_RESULT name ADD_STR1 "es wird" name "geschmolzen" " " "E-MAIL: flocke@online.de" GET_RESULT zeigen PRINT zeigen ADD_STR afxname - name GET_RESULT neuname OBJ_SET_NAME afxname neuname GET_RESULT afxname GOTO init1 >init_read: SET_VAR objekt ---- >init1: AFX_ALLOK_INTERN_VARS afxname 6 0 2 AFX_SET_OBJ afxname 0 name AFX_SET_N_OBJ_VARS afxname 6 AFX_DEFINE_OBJ_VAR afxname 0 1 "Schmelzstärke" 0 100 AFX_DEFINE_OBJ_VAR afxname 1 1 "Verzögerung" 0 100 AFX_DEFINE_OBJ_VAR afxname 2 1 "Zerfliesen" 0 10 AFX_DEFINE_OBJ_VAR afxname 3 1 "Wegzerrung" 0 100 AFX_DEFINE_OBJ_VAR afxname 4 1 "Schmelzpunkt +" 0 5 AFX_DEFINE_OBJ_VAR afxname 5 1 "Schmelzpunkt -" 0 5 OBJ_SET_VAR afxname 0 0 OBJ_SET_VAR afxname 1 10 OBJ_SET_VAR afxname 2 2 OBJ_SET_VAR afxname 3 10 OBJ_SET_VAR afxname 4 1 OBJ_SET_VAR afxname 5 2 RETURN OK >start: AFX_GET_OBJ afxname 0 GET_RESULT objekt GEO_VISIBLE objekt 0 ADD_STR objekt _Neu_ GET_RESULT obj OBJ_NEW obj 3 GET_RESULT neu_obj OBJ_COPY objekt neu_obj AFX_SET_OBJ afxname 1 neu_obj PKL_ADD neu_obj GEO_GET_BBOX neu_obj GET_RESULT koord COPY_WORD koord 1 GET_RESULT x1 COPY_WORD koord 4 GET_RESULT x2 COPY_WORD koord 2 GET_RESULT y1 COPY_WORD koord 5 GET_RESULT y2 COPY_WORD koord 3 GET_RESULT z1 COPY_WORD koord 6 GET_RESULT z2 AFX_SET_REAL afxname 0 x1 AFX_SET_REAL afxname 1 x2 AFX_SET_REAL afxname 2 y1 AFX_SET_REAL afxname 3 y2 AFX_SET_REAL afxname 4 z1 AFX_SET_REAL afxname 5 z2 RETURN OK >prerender: OBJ_GET_VAR afxname 0 GET_RESULT faktor OBJ_GET_VAR afxname 1 GET_RESULT verzög OBJ_GET_VAR afxname 2 GET_RESULT fluss OBJ_GET_VAR afxname 3 GET_RESULT zerr OBJ_GET_VAR afxname 4 GET_RESULT punkt1 OBJ_GET_VAR afxname 5 GET_RESULT punkt2 AFX_GET_REAL afxname 0 GET_RESULT x1 AFX_GET_REAL afxname 1 GET_RESULT x2 AFX_GET_REAL afxname 2 GET_RESULT y1 AFX_GET_REAL afxname 3 GET_RESULT y2 AFX_GET_REAL afxname 4 GET_RESULT z1 AFX_GET_REAL afxname 5 GET_RESULT z2 IF_LESS_GOTO faktor 0 set1 IF_GREATER_GOTO faktor 100 set2 DIV faktor 100 GET_RESULT neuf GOTO spring >set1: SET_VAR neuf 0 GOTO spring >set2: SET_VAR neuf1 >spring: FUNCTION abs(z1-z2) GET_RESULT größez FUNCTION abs(x1-x2)*2 GET_RESULT größex FUNCTION abs(y1-y2)*2 GET_RESULT größey AFX_GET_OBJ afxname 0 GET_RESULT objekt SET_VAR zähler 0 GEO_NPTS objekt GET_RESULT teile >schleife1: IDIV zähler 1 GET_RESULT zähler FUNCTION zähler*100/teile GET_RESULT prozent IDIV prozent 1 GET_RESULT prozent AFX_GET_OBJ afxname 0 GET_RESULT objekt ADD_STR1 Körper: objekt -> Punkte verschieben: prozent % fertig GET_RESULT zeigen PRINT zeigen WAIT_SECS 0.0000001 IF_EQUAL_GOTO zähler teile fertig GEO_GET_PT objekt zähler GET_RESULT kd COPY_WORD kd 1 GET_RESULT x COPY_WORD kd 2 GET_RESULT y COPY_WORD kd 3 GET_RESULT z FUNCTION 1-(abs(z1-z)/abs(größez)) GET_RESULT weg FUNCTION z-((größez^(1+(1*weg)))*neuf*weg) GET_RESULT neuz FUNCTION neuz-(größez*neuf*verzög/100) GET_RESULT neuz IF_GREATER_GOTO neuz z1 sprung3 DIV z1 1 GET_RESULT neuz >sprung3: FUNCTION (1+(.5*punkt1))-((.5*punkt2)*neuf) GET_RESULT np FUNCTION 1-(abs((z1-z)*np))/abs(größez)) GET_RESULT weg RAND GET_RESULT zufall FUNCTION x+(x*(größey/größez)*fluss*neuf*sin(90*weg)*((100+((zerr-(zerr*neuf))*zufall))/100)) GET_RESULT neux RAND GET_RESULT zufall FUNCTION y+(y*(größex/größez)*fluss*neuf*sin(90*weg)*((100+((zerr-(zerr*neuf))*zufall))/100)) GET_RESULT neuy AFX_GET_OBJ afxname 1 GET_RESULT objekt GEO_SET_PT objekt zähler neux neuy neuz ADD zähler 1 GET_RESULT zähler GOTO schleife1 >fertig: RETURN OK >afterrender: RETURN OK >get_objs: > set_objs: >get_info: RETURN OK >finish: AFX_GET_OBJ afxname 0 GET_RESULT objekt GEO_VISIBLE objekt 1 AFX_GET_OBJ afxname 1 GET_RESULT objekt AFX_SET_OBJ afxname 1 ---- OBJ_DEL objekt RETURN OK