Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-08-2004, 11:18   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Berlinerin
Beiträge: 145
attachMovie Koordinaten ermitteln?

hi,

ich versuche ähnlich eines snake-Spiels ein MC dem letzten Körperteil folgen
zu lassen. Die Körperteile werden mit attachMovie dupliziert.
Aber es klappt nicht, die Koordinaten des letzten Körperteils anzusprechen.


PHP-Code:
//body wird dupliziert
function duplicate(level){
    var 
neu"body"+level;
    
this.attachMovie("mc_body",neu,level);
    
_root.points_total+=_root.scorepoints;
    
this[neu].level=level;
    
this[neu]._x=this["body"+(level-1)]._x;
    
this[neu]._y=this["body"+(level-1)]._y;


}

//das Ende folgt dem letzten duplizierten body-teil
function end() {
    
zeigerX _root["body"+level]._x;
    
mcX _root.end._x;
    
difX zeigerX-mcX;
    
xTempo difX/1;
    
zeigerY _root["body"+level]._y;
    
mcY _root.end._y;
    
difY zeigerY-mcY;
    
yTempo difY/1;
    
_root.end._x Math.round(mcX+xTempo);
    
_root.end._y Math.round(mcY+YTempo);

dieser Pfad hier muss falsch sein:
zeigerX = _root["body"+level]._x;

wenn ich z.B. testweise
zeigerX = _root.body1._x;
verwende, folgt das Ende immer snake1.

Was ist denn da falsch?
Viele Grüße, cosmix
cosmix ist offline   Mit Zitat antworten
Alt 29-08-2004, 11:46   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
hast du das mal getraced?

zeigerX = _root["body"+level]._x;

hat denn «level» einen wert bzw. welchen wert hat «level»?

du übergibst den Wert nämlich nicht in die Funktion «end».

vielleicht liegt da der fehler.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 29-08-2004, 12:51   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Berlinerin
Beiträge: 145
hi gaspode,

bei trace(zeigerX); bekomme ich tatsächlich ein "undefined".

"level" bekommt doch durch attachMovie einen fortlaufenden Wert (body1, body2, etc.)
Wieso greift denn die Funktion "end" nicht auf den Wert zu...?

dupliziert wird über hitTest auf dem mc "body0"

PHP-Code:
onClipEvent (load) {
    
this.0;
}

onClipEvent (enterFrame) {
        if (
this.hitTest(_root.frosch)) {
        
_root.duplicate(++i);


ratlose grüße, c.
cosmix ist offline   Mit Zitat antworten
Alt 02-09-2004, 12:15   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
die variable «level» ist aber nicht wirklich definiert worden, sondern
übergibt in der funktion «duplicate» nur den wert.

wenn du z.B. sowas schreibst:

// --------------------------------
function test1(wert1) {
etwas = wert1;
}

function test2() {
trace(wert1);
}

test1(10);
test2();
// --------------------------------

ergibt der trace-wert: undefined

wenn du allerdings sowas machst:

// --------------------------------
function test1(wert1) {
wert2 = wert1;
}

function test2() {
trace(wert2);
}

test1(10);
test2();
// --------------------------------

ergibt der trace-wert: 10
weil die variabel, in diesem falle «wert2» in der funtkion «test1» definiert wird.

gruß, gaspode

Geändert von gaspode (02-09-2004 um 12:16 Uhr)
gaspode ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele