Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-08-2004, 07:31   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 16
Hintergrundbild bewegen lassen?

Hallo Flasher,

ich bin dabei eine Karte zu programmieren, welche sich nach dem anklicken zu dem jeweiligen Land bewegen soll, dazu hatte ich mir gedacht ich nehme einen Wert 100, bei 25 bps - sollte das dann ca. 4 Sekunden dauern, und er berechnet mir den Weg sowie den zoom. siehe Beispiel unten.
Mein Porblem ist aber, das sich das Bild beim anklicken so schnell bewegt, das man eine Bewegung nicht ausmachen kann, ich weis das das leider nicht sooo geht, aber leider weis ich auch nicht wie ich es anders machen kann, hier erst mal der Code:

Code:
zoomen = function(x, y, z){
	Weltkarte._xscale = z;
	Weltkarte._yscale = z;
	Weltkarte._x = x;
	Weltkarte._y = y;
}

go = function(x1, y1, z1, x2, y2, z2){
	x_fac = (x2 - x1) / 100;
	y_fac = (y2 - y1) / 100;
	z_fac = (z2 - z1) / 100;
	for (var z = 0; z < 100; z++){
		x = x1 + (x_fac * z);
		y = y1 + (y_fac * z);
		z = z1 + (z_fac * z);
		zoomen(x, y, z);
	}
}
Und was ich noch seltsam finde, das er irgend wie keine negativen Zahlen übertragt, also von der func - go zur func - zoomen.

Aber vielleicht könnt ihr mir weiterhelfen.


Schönen Gruß, Sky.
ShadowOfSky ist offline   Mit Zitat antworten
Alt 20-08-2004, 09:18   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

also grundsätzlich kann ich schonmal sagen das eine for-schleife da ungeeignet ist da diese so schnell abgearbeitet wird das du da nix von zu sehen bekommst. (ausser du läßt es auf nem x286er laufen )...
in deinem fall würd ich mit ner onEnterFrame schleife arbeiten.
wenn dein film mit 25 frames läuft brauchst du 100 durchläufe für 4 sek.
naja das kannste ja auch selber rechnen.

und wieso da keine negativen ankommen???

vielleicht kommen keine negativen zahlen raus???

kann ich jetzt so auf anhieb nicht sagen...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 20-08-2004, 09:32   #3 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 16
Und wie kann ich es mir mit onEnterFrame vorstellen? Muß ich dazu einen MovieClip vorher basteln, weil wenn ja habe ich immer noch das Problem mit der Übergabe der Daten und wenn nicht, wie erstell ich temp ein mc in das ich mit onEnterFrame arbeite? per _root.createMovieClip(....) und ....onEnterFrame = function(?){ }


Gruß Sky.
ShadowOfSky ist offline   Mit Zitat antworten
Alt 20-08-2004, 09:45   #4 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
...

jups... mit dem mc ist ne variante (_root.createEmptyMovieClip()

aber ich würde ihn mir vorher fertig machen in die bibliothek legen und für as verknüpfen und bei bedarf auf die bühne attachen.

dann schreibst du ins erste frame des mc's
ActionScript:
  1. this.onEnterFrame=function(){
  2. hier deine funktion;
  3. }

und wenn die funkton durchgelaufen ist removest du den mc wieder damit die frame-schleife wieder verschwindet.

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 23-08-2004, 08:41   #5 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 16
wie meinst du das mit vorher fertig machen? Da ich ihm die Endpunkte übergeben muß an welche Stelle er das Bild hinscrollen/-zoomen soll, kann ich vorab kein tweenig erstellen. Oder hast du eine andere möglichkeit im Sinn?
Bzw. wenn ich wie bei dir oben steht meine Funktion eingebe, die ganz oben steht, habe ich immer noch das Problem mit der schnellen Abarbeitung der for Schleife.

Gruß Sky.

Geändert von ShadowOfSky (23-08-2004 um 08:42 Uhr)
ShadowOfSky 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 16:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele