| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
| Probleme mit SetInterval/AS-Pause
Hallo zusammen, nachdem ich jetzt schon eine weile das Forum lese habe ich doch einmal eine Frage, es geht um folgendes Problem: Ich habe eine for Schleife in der ein Bewegungspfad (ermittelt aus A* Algo) "abgelaufen" wird, das geht aus super. Aber dabei ermittle ich die Bewegungsrichtung und will, sobald sich die Richtung ändert, dass sich die Figur in die richtige Richtung dreht und dann weiterläuft. Das macht sie auch nur leide bekomme ich es nicht hin das Actionscript wartet bis der extra Movieclip für die Drehung zu Ende ist. Ich habs auch mit if probiert und anderen arten SetInterval aufzurufen, habt ihr ne Idee? Danke im voraus - brainyartist Ist ersmal nur die Rechtsdrehung, für die anderen kann mans ja dann implementieren. In dem Bewegungsmovieclip wird im letzten frame _global.pause auf true gesetzt. Code: for (b=0; b<=closedList.length; b++)
{
switch (closedList[b].richtung)
{
case "unten" :
char._x -= 27;
char._y += 13, 5;
charY++;
look = "unten";
break;
case "oben" :
char.gotoAndStop(3);
case "links" :
char.gotoAndStop(2);
case "rechts" :
char.gotoAndStop(4);
//Funktion die auf die Rückgabe vom Bewegungsmovieclip wartet
walk = function (aufruf)
{
if (_global.pause == true)
{
charX++;
//trace(_global.pause);
char._x += 27;
char._y += 13,5;
_global.pause == false;
clearInterval(processID);
} else
{
/*alter Aufruf von setInterval
if (aufruf==true)
{
processID = setInterval(walk,500);
}*/
}
};
trace (look);
if (look == "rechts")
{
charX++;
//trace(_global.pause);
char._x += 27;
char._y += 13, 5;
}
else
{
funktionsaufruf = true
processID = setInterval(walk(funktionsaufruf),500);
//walk(funktionsaufruf);
}
//alte Blickrichtung
look = "rechts";
//trace("nach aufruf");
break;
default :
//trace("in switch");
} |
| | |
| | #2 (permalink) |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
|
Guten Morgen, bin immernoch beim Problem, hab aber ne neue Frage, siehe unten. Ich hab jetzt meinen Code in OOP umgebaut, da stieß ich auf die Frag ob das irgendwie geht, wenn ja wäre mein Problem gelöst... So ruft er meto2 nur einmal auf und nicht im Interval, außerdem ist pID undefiniert. PHP-Code: PHP-Code: gruß brainyartist |
| | |
| | #3 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
hi, setInterval wird folgendermaßen aufgerufen... ActionScript:
also in deinem fall: ActionScript:
ausserdem könnte se probleme geben da deine interval-id genauso heißt wie der funktionsparameter... gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! Geändert von fraggle two (04-08-2004 um 09:55 Uhr) |
| | |
| | #4 (permalink) |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
|
Hm, ja jetzt gehts, danke, zumindest im Test-Programm, aber nicht in meinem richtigen... trotzdem bleibt die Frage warum zahl2 undefined ist, habt ihr ne Idee? PHP-Code: |
| | |
| | #5 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
hmmm... wo liegt der unterschied zwischen deinem testprogramm und deinem richtigen? gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! |
| | |
| | #6 (permalink) |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
|
Der Fehler ist weg, da hab ich doch glatt am Ende einer Methodendefinition = function() vergessen, trotzdem wird jetzt die Frage nach dem this.zahl2 undefined extrem interessant. Denn ohne die funktionert der Trick nicht, ich kann ja mal alles was dazu gehört posten, wenn ihr wollt. gruß brainyartist |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Feb 2004 Ort: Berlin [Adlershof]
Beiträge: 19
| So geht's...
Morjen... Hier dein Skript mit den richtigen Werten. MfG Pinback ========================= Code: myClass = function () {
this.zahl1 = 1;
this.zahl2 = 2;
};
myClass.prototype = new MovieClip();
myClass.prototype.meto1 = function () {
_global.processID = setInterval (this.meto2, 200, this);
};
myClass.prototype.meto2 = function (me) {
// so gehts...
trace (me.zahl2);
clearInterval(_global.processID);
};
ich = new myClass ();
ich.meto1 ();
__________________ "Die Männer auf diesem Schiff sind zutiefst krank. Sie wollen kein fröhliches Schiff!" |
| | |
| | #8 (permalink) |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
|
Perfekt, danke! Es gibt also noch mehr Leute aus Berlin die heute Nacht nicht geschlafen haben :-) Kleine Frage noch, warum vererbst du da? Code: myClass.prototype = new MovieClip(); gruß brainyartist |
| | |
| | #9 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
der new MCiss überflüssig.,.. und das übergeben des objektes als parameter ist notwendig...weil der interval im kontext der intervalfunktion als 'this' fungiert, da das objekt 'interval' sich selbst ruft, bzw. die funktiuon ruft...das heißt: du verlierst den scope deines objektes innerhalb einer intervalfunktion... verstanden?... du dass überreichen deines obejktes als param an die funktion, kann man im funktionskörper wieder via argument druaf zu greifen... greetz kelor |
| | |
| | #10 (permalink) | |
| Neuer User Registriert seit: Feb 2004 Ort: Berlin [Adlershof]
Beiträge: 19
| RE..warum vererbst du da?
Morjen...uuaaah (noch müde etwas) Zitat:
Wennste allerdings diese Klasse mit einem MC verknüpfen(s.Object.registerClass()) wolltest oder mit attachMovie(), erbt dieser MC auch alle MovieClip-Eigenschaften - was nicht automatisch der Fall wäre. Einen guten Morgen wünscht: Pinback
__________________ "Die Männer auf diesem Schiff sind zutiefst krank. Sie wollen kein fröhliches Schiff!" | |
| | |
| | #11 (permalink) | |
| Neuer User Registriert seit: Feb 2004 Ort: Berlin [Adlershof]
Beiträge: 19
| Zitat:
Ich glaube da war noch jemand lange wach ![]() Pinback
__________________ "Die Männer auf diesem Schiff sind zutiefst krank. Sie wollen kein fröhliches Schiff!" | |
| | |
| | #13 (permalink) | |
| glücklich Registriert seit: Mar 2004 Ort: Berlin
Beiträge: 27
| Zitat:
greets brainyartist | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |