Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-06-2006, 15:15   #1 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
Versetzen eines "player"

Servus,
habe hier ein kleines problem.
Ich habe eine funktion. Ein Teil dieser Funktion ist der untenstehende Code.

Wenn der "player" auf einer bestimmten Höhe (_y) steht soll zunächst abgefragt werden auf welcher _x höhe er steht. Steht er über der Grenze, soll er an die angegebene Koordinate zurück versezt werden. Wenn er nicht über der besagten _x-Grenze steht, soll er +100 nach rechts getweent werden.

Das Tweenen funktioniert wunderbar, nur das versetzen des "player" nicht.

Habt ihr ne Ahnung warum?

PHP-Code:
if (_root.player._y 350 &&  _root.player._y 250 || _root.player._y 550 &&  _root.player._y 450){
        if (
_root.player._x Anzahl_reihen_spalten breite_Feld 50){
        
_root.player._x 200;
        
_root.player._y reihe 100 50;
        }
        else {        
        new 
Tween(_root.player"_x"Strong.easeInOut_root.player._x_root.player._x+100 10);
        }} 
Muss dazu sagen, das es sich bei dem Player um ein kleines Auto handelt das mit follgendem Code bewegt wird:
PHP-Code:
//Für alle Felder mit allen den darin vorkommenden rändern den Hittest scharf schalten
for (j=0j<=Anzahl_reihen_spalten*Anzahl_reihen_spalten+1j++) {
    for (
i=0i<=2i++) {
        
_root["feld"+j]["rand"+i].onEnterFrame = function() {
            
//Wenn kein Hittest erfolgt, dann soll er die Position speichern
            
if (!this.hitTest(player)) {
                
this.xrichtung _root.player._x;
                
this.yrichtung _root.player._y;
            } 
            
//Falls doch einer erfollgt, soll die position zurückgesetzt werden
            
else {
                
_root.player._x this.xrichtung;
                
_root.player._y this.yrichtung;
            }
        };
    }
}
acc .5;
speed 0;
steer 0;
this.onEnterFrame = function() {
    
// hier wird der wendekreis kleiner
    
var ssp Math.sqrt(Math.abs(speed*39));
    
steer -= Key.isDown(Key.LEFT)*ssp-Key.isDown(Key.RIGHT)*ssp;
    
    if (
Key.isDown(Key.UP)) {
        
speed += acc;
    } else if (
Key.isDown(Key.DOWN) && speed>=-2) {
        
speed -= acc;
    } else {
        
speed *= .70;
    }
    
//topspeed einstellen
    
speed Math.min(speed5);
    
//Bewegung
    
player._x += Math.cos(steer*Math.PI/180)*speed;
    
player._y += Math.sin(steer*Math.PI/180)*speed;
    
//Drehung
    
player._rotation steer;
    
    
    }; 
Danke für euere Hilfe
Papaligo ist offline   Mit Zitat antworten
Alt 05-06-2006, 16:08   #2 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
wenn ich statt den _x und _y Position einen tween erstellen funktioniert das !!
PHP-Code:
if (_root.player._y 350 &&  _root.player._y 250 || _root.player._y 550 &&  _root.player._y 450){
        if (
_root.player._x Anzahl_reihen_spalten breite_Feld 50){
        new 
Tween(_root.player"_x"Strong.easeInOut_root.player._x200 1);
        }
        else {        
        new 
Tween(_root.player"_x"Strong.easeInOut_root.player._x_root.player._x+100 10);
        }}

aber das möchte ich eigentlich nicht.
und vorallem warum funzt der Tween und das andere nicht?

Geändert von Papaligo (05-06-2006 um 16:21 Uhr)
Papaligo 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:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele