Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-10-2004, 14:31   #1 (permalink)
gebrauchter user
 
Registriert seit: Jul 2001
Ort: Austria
Beiträge: 200
bewegung stoppen in gewissem x-y bereich

hi all,

wie erklär ichs,...hmm
also ich bewege ein movie auf der bühne, wie bei einem strategiespiel mit der maus.
das heisst wo man hinklickt dorthin bewegt sich das movie.
mittels:

xmouse = _root._xmouse;
ymouse = _root._ymouse;

wird die mausposition gespeichert
und mittels

Code:
this._x += (posX)*tempo;
this._y += (posY)*tempo;
wird das movie bewegt, das funktioniert wunderbar,
nur leider bleibt es dann nicht immer dort stehen wo man
hinklickt.
mein lösungsanstz war der:

Code:
if((Math.abs(_root.character._x-xmouse) < 1) && (Math.abs(_root.character._y-ymouse) < 1)) // if position is reached dont move
		tempo = 0;
das funktioniert manchmal aber nicht immer.
das abfrage müsste also ungefähr so heissen
(wenn x gleich xmouse plus minus 1 AND
wenn y gleich ymouse plus minus 1)
tempo = null;

wer kann mir da aushelfen mit dem kompakten code dazu???
danke für hinweise
Rocco ist offline   Mit Zitat antworten
Alt 11-10-2004, 15:39   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
onMouseDown = function () {
    
xmouse _root._xmouse;
    
ymouse _root._ymouse;
    
_root.character.onEnterFrame = function() {
        
this._x<xmouse this._x += (xmouse-this._x)/this._x -= (this._x-xmouse)/5;
        
this._y<ymouse this._y += (ymouse-this._y)/this._y -= (this._y-ymouse)/5;
        if ((
Math.round(this._y)) == (Math.round(ymouse)) && (Math.round(this._x)) == Math.round(xmouse)) {
            (
delete this.onEnterFrametrace("deleted"));
        }
    };
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (11-10-2004 um 16:04 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 11-10-2004, 16:45   #3 (permalink)
gebrauchter user
 
Registriert seit: Jul 2001
Ort: Austria
Beiträge: 200
danke für deine hilfe,
konnte ich allerdings so nicht verwerten.
und zwar weil man den charakter mit tastatur und maus steuern kann
und die steuerungs mittels tastatur soweit einmal funktioniert, bzw dein
steuerungsansatz für tastatur ungeeignet ist.
ausserdem funktioniert das mit round in diesem fall nicht, weil die werte zu unterschiedlich sind.

ich hab jetzt einfach
Math.abs(_root.character._x-xmouse) < 3)

den wert auf 3 gesetzt und damit gehts ganz gut.

nur komm ich jetzt zum nächsten fundamentalen prob:
diese funktion funktioniert wenn sich das movie bewegt, aber
da sich auch der der hintergrund zeitweise scrollt hab ich dann das selbe
prob wie vorher, das charakter movie bleibt nicht dort stehen wo man hinklickt.
weil sich ja in diesem fall nicht der charakter bewegt sondern der hintergrund.
und damit das ganze noch ein bischen komplizierter wird, gibt situationen
wo der hintergrund sich nur auf der x-achse und der charkter sich nur auf der
y-achse bewegt. ich hoffe ich verzweifle nicht.
Rocco ist offline   Mit Zitat antworten
Alt 11-10-2004, 16:56   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
AHA...

Was wird denn das? DIABLO III? Wünsche auf jeden Fall noch viel Erfolg.

Man kann ja, falls sich der Hintergrund bewegt den x oder y Wert vom Ziel abziehen bzw. draufaddieren. Dann sollte das doch gehen, oder? Aber wem sage ich das - Du machst datt schon...

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-10-2004, 17:07   #5 (permalink)
gebrauchter user
 
Registriert seit: Jul 2001
Ort: Austria
Beiträge: 200
das wird die homepage für meinen bruder, der wie du schon treffend bemerkt hast, der fanatischte diablo fan ist dens gibt.
und jetzt mach ich ihm eine HP, wo er in seinem nachgebauten Haus, mit einem Ork herumlaufen und halt sachen machen kann, die man halt auf einer homepage so macht.
das ganze gibts dann als weihnachtsgeschenk, wenn ichs schaffe *schwitz*
Rocco 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 20:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele