gwX Forum
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Fehler in einer While Schlaufe

5 verfasser

Seite 1 von 2 1, 2  Weiter

Nach unten

Fehler in einer While Schlaufe Empty Fehler in einer While Schlaufe

Beitrag  kakerlake Do 5 März 2009 - 20:39

Hallo

Ich habe ein kleines Problem und zwar will ne schlaufe nicht mehr aufhören Smile und ich weiss nicht warum:
CODE:
Code:
 local(o).(0)++;
 var p;
 p:=getposition(o);
 var gdx;
 var kx;
 var kz;
 var siz;
 var aub;
 var tm;
 gdx := 10;
 siz := 1000;
 tm := 0;
 aub := 0;

 while(tm<100)
 {

while(gdx<370)
 {
 kx := sin(gdx,(siz+aub));
 kz := cos(gdx,(siz+aub));

 addpartikel(1,getid("tex_explod3"),(getx(p)+kx),(gety(p))(getz(p)+kz), randomx(0,2), 10,randomx(0,2), -10,1000,255,255,255,255);

 gdx := gdx+10;
 };
 aub := aub+100;
 tm := tm+10;
 };


danke im voraus
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  MarcelP Do 5 März 2009 - 20:54

wie ne schlaufe??meinst du eine reihenfolge, die nich zuende geht???
MarcelP
MarcelP

Anzahl der Beiträge : 297
Anmeldedatum : 15.01.09
Alter : 29
Ort : Sachsen-Anhalt

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Do 5 März 2009 - 21:47

öhm..kannste vllt mal den ganzen script reinkopiern? mit while(...){...}
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Do 5 März 2009 - 21:49

ist alles drinn einfach nach unten scrollen
local(o).(0)++;
var p;
p:=getposition(o);
var gdx;
var kx;
var kz;
var siz;
var aub;
var tm;
gdx := 10;
siz := 1000;
tm := 0;
aub := 0;

while(tm<100)
{

while(gdx<370)
{
kx := sin(gdx,(siz+aub));
kz := cos(gdx,(siz+aub));

addpartikel(1,getid("tex_explod3"),(getx(p)+kx),(gety(p))(getz(p)+kz), randomx(0,2), 10,randomx(0,2), -10,1000,255,255,255,255);

gdx := gdx+10;
};
aub := aub+100;
tm := tm+10;
};
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Do 5 März 2009 - 21:54

soo.3 mins angeglotzt, aber sry, ich find da kein fehler, was kommt denn in gwx?
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Eddy Do 5 März 2009 - 23:10

Endlosschleife is ja augenscheinlich nicht der Fall^^ Führst dus in der Rendermethode aus?

Eddy

Anzahl der Beiträge : 509
Anmeldedatum : 14.01.09
Alter : 30

http://systems.bitfarmclan.de

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Do 5 März 2009 - 23:33

Hier ist noch der komplette code
Code:
cdecl partic_init(o)
{
 local(o).(0):=0;
}
cdecl partic_Tick(o,200)
{
 local(o).(0)++;
 var p;
 p:=getposition(o);
 var gdx;
 var kx;
 var kz;
 var siz;
 var aub;
 var tm;
 gdx := 10;
 siz := 1000;
 tm := 0;
 aub := 0;

 while(tm<100)
 {

 while(gdx<370)
 {
 kx := sin(gdx,(siz+aub));
 kz := cos(gdx,(siz+aub));
 addpartikel(50,getid("tex_explod3"),(getx(p)+kx),(gety(p)),(getz(p)+kz),randomx(-10,10),20,randomx(-10,10),-10,1000,255,255,255,255);
 gdx := gdx++;
 };
 aub := aub+100;
 tm := tm+10;
 };


}
cdecl partic_render(o)
{

}

kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Carli Fr 6 März 2009 - 17:37

Du hast nen klitzekleinene Fehler gemacht:
Hier die berichtigte Version
Code:
cdecl partic_init(o)
{
 local(o).(0):=0;
}
cdecl partic_Tick(o,200)
{
 local(o).(0)++;
 var p;
 p:=getposition(o);
 var gdx;
 var kx;
 var kz;
 var siz;
 var aub;
 var tm;
 gdx := 10;
 siz := 1000;
 tm := 0;
 aub := 0;

 while(tm<100)
 {

 while(gdx<370)
 {
 kx := sin(gdx,(siz+aub));
 kz := cos(gdx,(siz+aub));
 addpartikel(50,getid("tex_explod3"),(getx(p)+kx),(gety(p)),(getz(p)+kz),randomx(-10,10),20,randomx(-10,10),-10,1000,255,255,255,255);
 gdx++; //Hier lag der Bug!!
 };
 aub+=100; //So kann mans besser schreiben
 tm+=10;
 };

Du hast du hast "gdx:=gdx++;" gechrieben
hier 3 andere, richtige Schreibweisen:
Code:
gdx:=gdx+1;
gdx++;
gdx+=1;

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 20:00

danke Smile

nächste frage: aub sollte im script den radius bei jedem durchlauf der schleife um einen wert erhöht werden, passiert aber wiedereinmal nicht !

Falls jemand eine idee hat posten
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Carli Fr 6 März 2009 - 20:07

Variablen müssen immer vorher initialisiert werden.

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Fr 6 März 2009 - 20:09

while(...){
...
radius := radius +1;
};
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Eddy Fr 6 März 2009 - 20:29

Code:
radius := 0; // Initialisierung
while(...){
...
radius := radius +1;
};

^^

Eddy

Anzahl der Beiträge : 509
Anmeldedatum : 14.01.09
Alter : 30

http://systems.bitfarmclan.de

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Fr 6 März 2009 - 20:35

wenn ich mies wär hätt ich das ganze nochmal abkopiert un davor n var radius geschriebn Smile, nene ,stimmt schon so
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 20:40

Code:
 var p;
 p:=getposition(objekt);
 var si;
 si:=radius / 400;
 var i;
 i:=si;


 var gdx;
 var kx;
 var kz;
 var siz;
 var sizc;
 var aub;
 var tm;
 var tmc;
 var tk;
 var sk;
 var ht;

 gdx := 1;
 siz := 1000;
 sizc := 1000;
 tm := 0;
 tmc := 0;
 aub := 0;
 sk:= 40;
 tk:= 15;
 ht:= 2;

 while(i>0)
 {
//innere Stichflamme
 while(tmc<5)
 {
 addpartikel(tk,getid("tex_explod3"),getx(p),gety(p)+ht,getz(p),randomx(-10,10),sk,randomx(-10,10),-10,(1000+sizc),255,255,255,255);
 addpartikel(tk,getid("tex_explod3"),getx(p)+500,gety(p)+ht,(getz(p)),randomx(-10,10),sk,randomx(-10,10),-10,(1000+sizc),255,255,255,255);
 addpartikel(tk,getid("tex_explod3"),getx(p)-500,gety(p)+ht,(getz(p)),randomx(-10,10),sk,randomx(-10,10),-10,(1000+sizc),255,255,255,255);
 addpartikel(tk,getid("tex_explod3"),getx(p),gety(p)+ht,getz(p)+500,randomx(-10,10),sk,randomx(-10,10),-10,(1000+sizc),255,255,255,255);
 addpartikel(tk,getid("tex_explod3"),getx(p),gety(p)+ht,getz(p)-500,randomx(-10,10),sk,randomx(-10,10),-10,(1000+sizc),255,255,255,255);
 ht:=ht*4;
 tk+=5;
 sizc:=sizc*2;
 sk+= 20;
 tmc+=1;
 };

 //Aussenring
 while(tm<10)
 {
 while(gdx<370)
 {
 kx := sin(gdx,(siz+aub));
 kz := cos(gdx,(siz+aub));
 addpartikel(20,getid("tex_explod3"),(getx(p)+kx),(gety(p)),(getz(p)+kz),randomx(-10,10),20,randomx(-10,10),-10,2000,255,255,255,255);
 gdx+=5;
 };

 aub+=100;
 tm+=1;
 };
  i--;
 };
funktioniert immer noch nicht Sad
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Fr 6 März 2009 - 20:46

so wie ich das sehe, is da ein "}" zuviel, kann aber auch sein, dass das nur vom funktionsende kommt (p.s. bei einer if oder while funk heißt es {...};, bei einer internen wie z.b. hit heißt es aber {...}(also kein semikolon am ende, guck mal ob du das richtig hast)
was kommen denn eigentlich für fehler?
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 20:59

kein fehler etwas wird nur nicht angezeigt und zwar dies(scripterklärung):

kx := sin(gdx,(siz+aub));
&
kz := cos(gdx,(siz+aub));

berechnen "gdx-anzahl" punkte auf einem Kreis mit dem Radius (siz+aub) und speichern sie in kx,kz ab

addpartikel(20,getid("tex_explod3"),(getx(p)+kx),(gety(p)),(getz(p)+kz),randomx(-10,10),20,randomx(-10,10),-10,2000,255,255,255,255);
diese Zeile "zeichnet" dann einen "feuer-partikel-kreis" auf den boden.

dieser "feuerkreis" steht nun aber still und damit es nun so aussieht, als ob der feuerkreis sich ausbreitet ,
wird bei jedem durchlauf der Schlaufe "(tm)" die variabel "aub" um 100 einheiten erhöht.

while(tm<10)
{

while(gdx<370)
{
kx := sin(gdx,(siz+aub));
kz := cos(gdx,(siz+aub));
addpartikel(20,getid("tex_explod3"),(getx(p)+kx),(gety(p)),(getz(p)+kz),randomx(-10,10),20,randomx(-10,10),-10,2000,255,255,255,255);
gdx+=5;
};

aub+=100;
tm+=1;
};


Dies hat nun zur Folge, dass beim nächsten durchlauf hier:
kx := sin(gdx,(siz+aub));
kz := cos(gdx,(siz+aub));
Der radius erhöht werden sollte ( sin(winkel,radius); ). und der kreis etwas grösser gezeichnet werden sollte!
was nicht passiert Sad
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  !cORe!trike994 Fr 6 März 2009 - 21:02

eig. logisch, aber sry, ich find da nix mehr, musste wohl morgen auf carli wartn
!cORe!trike994
!cORe!trike994
Admin

Anzahl der Beiträge : 937
Anmeldedatum : 29.12.08
Alter : 30
Ort : Rostock/Pforzheim

https://gwxf.forumieren.com

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 21:02

ok np Smile
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Eddy Fr 6 März 2009 - 21:28

Wenn du in einer Funktion eine Variable deklarierst, kann sie ja schlecht beim nächsten Durchlauf dieser Funktion den gleichen Wert wie zuletzt besitzen (vor allem wenn du sie korrekt initialisierst). Dafür brauch man im Fall von gwX dann wohl objektlokale Variablen (Locals).
Wenn ich das richtig verstanden hab is das das problem Rolling Eyes

Eddy

Anzahl der Beiträge : 509
Anmeldedatum : 14.01.09
Alter : 30

http://systems.bitfarmclan.de

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 23:09

hmm ne ist nur eine schlaufe nicht eine funktion, die später ein zweites mal aufgerufen wird
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Eddy Fr 6 März 2009 - 23:13

öhm ich meinte folgendes:

du hast im "renderscript" eine deklaration "var radius" oder eben aub und willst in zwei verschiedenen Ticks auf die variable zugreifen - d. h. im ersten tick wird sie modifiziert, im zweiten soll diese änderung noch vorhanden sein

Eddy

Anzahl der Beiträge : 509
Anmeldedatum : 14.01.09
Alter : 30

http://systems.bitfarmclan.de

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 23:16

jo hab ich gemeint mit es ist eine schlaufe, siehst es ja oben im script Smile

1x tick durchlaufen -> im tick werden alle schlaufen durchlaufen(da ist das problem)->tick beendet

funktion=tick
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Carli Fr 6 März 2009 - 23:23

versuch mal pls einzurücken. das is Hilfreich

Carli
Admin

Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Fr 6 März 2009 - 23:54

danke trotzdem eddy vllt hab ich dich auch einfach nicht verstanden
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  kakerlake Sa 7 März 2009 - 0:03

ICH HAB IHN

ich hab vergessen gdx wieder auf null zu setzen, bevor die inner schlaufe nochmal beginnt

ich glaub carli hat ihn schon vorher gesehen aber ich hatte es nicht verstanden :D :D :D

Frage an alle wollt ihr bei der explosion eine rauchwolke?
kakerlake
kakerlake

Anzahl der Beiträge : 380
Anmeldedatum : 11.01.09

Nach oben Nach unten

Fehler in einer While Schlaufe Empty Re: Fehler in einer While Schlaufe

Beitrag  Gesponserte Inhalte


Gesponserte Inhalte


Nach oben Nach unten

Seite 1 von 2 1, 2  Weiter

Nach oben

- Ähnliche Themen

 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten