Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-04-2005, 16:28   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 39
mein Mousverfolger will nicht so wie ich will

Hallo Leute

heute geht mal wieder garnichts.

Hier mal die Aufgabe.
Ich möchte ein objekt von mit der Maus zur Laufzeit horizental verschieben.
Das geht auch. Nur macht er einen Sprung zu beginn.
Warum er das macht weiß ich auch aber ich weiß nicht wie ich das verhindern kann.

Code:
onClipEvent (load) 
{ 
   _global.ypos1 = this._y; 
   _global.abstandy = 0; 
} 
onClipEvent(enterFrame)
{
	if(_root.runter == 1)
	{
			 ypos1 = this._y;
			 this._y = int(ypos1);
	}
}
onClipEvent(mouseDown)
{
	_root.runter = 1;
}
onClipEvent(mouseUp)
{
	_root.runter = 0
}
Er springt hier ypos1 = this._y;

Da es eine große fläche ist drücke ich ja nicht immer oben sondern auch mal unten und da springt er dann.
Wie kann ich das verhindern.

Danke
AV
vossy123 ist offline   Mit Zitat antworten
Alt 20-04-2005, 08:57   #2 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
äääh, wie wärs mit myMovieClip.startDrag([lock, [left, top, right, bottom]])???
Du willst doch einen MC anpacken und verschieben können, richtig?
dann schau Dir den Befehl mal in der Befehlsreferenz an.
Oder hab ich dich jetzt total falsch verstanden?

grüße,
solo
soloFlash ist offline   Mit Zitat antworten
Alt 20-04-2005, 12:37   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 39
Hi
danke aber das löst nicht mein problem.

es soll sich ja nur senkrecht bewegen
Hat sonst noch jemand eine Idee

AV
vossy123 ist offline   Mit Zitat antworten
Alt 20-04-2005, 13:01   #4 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
mit [left, top, right, bottom] kannst Du Doch den Bewegungsradius begrenzen.
dann gibst Du halt left und right identisch an.
Hast Du es ausprobiert?

Grüße,
solo

PS: einmal schreibst Du horizontal, einmal senkrecht?!

Geändert von soloFlash (20-04-2005 um 13:02 Uhr)
soloFlash ist offline   Mit Zitat antworten
Alt 20-04-2005, 13:03   #5 (permalink)
.
 
Benutzerbild von _kweso
 
Registriert seit: Aug 2001
Ort: wien/regensburg
Beiträge: 1.652
theoretisch kannst du dafuer auch das mc.startDrag verwenden,
dann musst halt fuer left und right mc._x setzen, dann kannst
ihn nur nach oben und unten verschieben (ja nach dem wie du halt
top und bottom belegt hast).

allerdings mach ich das auch gerne mit einer aehnlichen methode
wie du. du musst nur darauf achten, wo as _y herkommt.
ypos1 = this._y;
this._y = int(ypos1);
entspricht ja:
this._y=this._y;
und das aendert natuerlich nichts
besserwaere vielleicht:
this._y=_parent._ymouse;
noch besser:
this._y=_parent._ymouse+this.yoffset;
wobei yoffset bei onMouseDown
festgelegt wird:
onClipEvent(mouseDown)
{
_root.runter = 1;
this.yoffset=this._y-_parent._ymouse;
}

und abgesehen davon solltest vielleicht
mal mc.onEnterFrame=funtion(){},
statt onClipEvent(enterFrame){}
ansehen. funktioniert aehnlich, aber
vielleicht flexibler...

cu
k
__________________
350 * youtube

für alle, die noch keinen dropbox-account haben,
aber einen wollen: http://db.tt/wZ3S1pr
bringt uns beiden +500mb, thx!
_kweso ist offline   Mit Zitat antworten
Alt 20-04-2005, 15:02   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 39
Thumbs up

Entschuldigung wenn ich euch etwas durcheinandergebracht habe

Habe eine elegante Lösung mir gebastelt wo sogar eine Verdikale Begrenzung drinn ist das fuzt super

für alle die es interesiert

ActionScript:
  1. onClipEvent (load)
  2. {
  3.   _root.sperrung = 0;
  4. }
  5. onClipEvent(enterFrame)
  6. {   
  7.     trace(this._y);
  8.     if(_root.runter == 1)
  9.     {
  10.         if (_root.beginn == 0)
  11.         {   
  12.             if (_root.sperrung == 0)
  13.             {
  14.                 this._y = _root._ymouse - _root.differenz;
  15.                 if (this._y > 66)
  16.                 {
  17.                     _root.mauspositioncase = _root._ymouse;
  18.                     _root.sperrung = 1
  19.                     this._y = 66;
  20.                 }      
  21.             }
  22.             _root.beginn = 1;
  23.         }
  24.         else
  25.         {
  26.             if (_root.sperrung == 0)
  27.             {
  28.                 this._y = _root._ymouse - _root.differenz;
  29.                 if (this._y > 66)
  30.                 {
  31.                     _root.mauspositioncase = _root._ymouse;
  32.                     _root.sperrung = 1;
  33.                     this._y = 66;
  34.                 }         
  35.             }
  36.         }
  37.     }
  38.     if (_root.mauspositioncase > _root._ymouse )
  39.     {
  40.         _root.sperrung = 0;
  41.     }
  42. }
  43. onClipEvent(mouseDown)
  44. {
  45.     _root.runter = 1;
  46.     _root.differenz = _root._ymouse - this._y;
  47. }
  48. onClipEvent(mouseUp)
  49. {
  50.     _root.runter = 0
  51.     _root.beginn = 0;
  52. }

Danke euch dennoch

AV
vossy123 ist offline   Mit Zitat antworten
Alt 20-04-2005, 17:45   #7 (permalink)
.
 
Benutzerbild von _kweso
 
Registriert seit: Aug 2001
Ort: wien/regensburg
Beiträge: 1.652
wenn du das:
ActionScript:
  1. mc.onPress = function() {
  2.     this.yo = this._ymouse;
  3.     this.onEnterFrame = function() {
  4.         this._y = this._parent._ymouse-this.yo;
  5.         if (this._y>200) {
  6.             this._y = 200;
  7.         }
  8.         if (this._y<0) {
  9.             this._y = 0;
  10.         }
  11.     };
  12. };
  13. mc.onRelease = function() {
  14.     delete this.onEnterFrame;
  15. };
  16. mc.onReleaseOutside = function() {
  17.     delete this.onEnterFrame;
  18. };
in die zeitleiste mit (nicht in oder auf) dem movieclip (instanzname: "mc" !!)
schreibst, kannst du mc von null bis 200 bewegen...

cu
__________________
350 * youtube

für alle, die noch keinen dropbox-account haben,
aber einen wollen: http://db.tt/wZ3S1pr
bringt uns beiden +500mb, thx!
_kweso 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 22:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele