Autor |
Nachricht |
creeze
Threadersteller
Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht:
|
Verfasst Sa 02.06.2007 20:41
Titel Symbol via Button bewegen? |
|
|
Hallo,
ich habe folgendes problem:
ich möchte ein symbol/grafik bewegen und möchte dazu mehrere buttons verwenden. das heißt wenn man z.B auf button 1 klickt dann rückt das Symbol an Position 0, wenn man auf button 2 klickt auf position 500 usw.
das bild soll sich ganz einfach horizontal bewegen.
wie löse ich das am besten?
ich habe schon im handbuch nach möglichen befehlen zum bewegen einnes symbols gesucht aber leider keine gefunden.
crz
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
|
|
|
|
Anzeige
|
|
|
creeze
Threadersteller
Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht:
|
Verfasst So 03.06.2007 14:20
Titel
|
|
|
das script funktioniert leider nicht. würde ich holländisch können könnte ich ja jetzt nachlesen woran das liegen könnte, aber ich habe leider keinen plan
ich habe jetzt nocheinmal ein bisschen in der hilfe nachgelesen und bin schoneinmal auf folgende lösung gekommen:
(script für den button)
Code: | on (press) {
setProperty("bild", _x, 500);
} |
es funktioniert, ist allerdings nicht wirklich elegant, da das bild einfach auf diese position springt.
ich glaube ich werde hier auch mit "setProperty" nicht sehr weit kommen, oder?
crz
//EDIT:
Code: | on (press) {
do {
bild._x +=5;
x = getProperty(_root.bild, _x);
}
while (x < 300)
} |
ich habe es jetzt einmal so versucht. im prinzip müsste es klappen, nur bräuchte ich eine verzögerung in der schleife. die hilfe konnte mir da leider nicht weiter helfen. wie kann ich das script verzögern?
crz
Zuletzt bearbeitet von creeze am So 03.06.2007 14:47, insgesamt 1-mal bearbeitet
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst So 03.06.2007 16:59
Titel
|
|
|
Aus ActionScript for Flash MX: The Definitive Guide:
Code: |
// Method: MovieClip.slideTo()
// Desc: Animates a clip to the point (leaderX, leaderY) at the specified speed.
// Params: leaderX The x-coordinate to move to.
// leaderY The y-coordinate to move to.
// speed Rate of movement (pixels per frame).
MovieClip.prototype.slideTo = function (leaderX, leaderY, speed)
{
// Only move if the clip's not at the destination.
if (this._x != leaderX && this._y != leaderY)
{
// Create a nested function and assign it as the clip's
// onEnterFrame() event handler.
this.onEnterFrame = function ()
{
// Determine distance between clip and destination.
// The parameters leaderX and leaderY are accessed via
// the scope chain.
var deltaX = this._x - leaderX;
var deltaY = this._y - leaderY;
var dist = Math.sqrt((deltaX * deltaX) + (deltaY * deltaY));
// Allocate speed between x and y axes.
var moveX = speed * (deltaX / dist);
var moveY = speed * (deltaY / dist);
// If the clip has enough speed to overshoot the destination,
// just go to the destination. Otherwise, move according to
// the speed specified by the slideTo() parameter.
if (speed >= dist)
{
this._x = leaderX;
this._y = leaderY;
// The clip has arrived, so remove onEnterFrame().
delete this.onEnterFrame;
}
else
{
this._x -= moveX;
this._y -= moveY;
}
};
}
};
// Example Usage:
// Slides the clip to the mouse is clicked.
theClip_mc.onMouseDown = function ()
{
this.slideTo(_root._xmouse, _root._ymouse, 10);
}; |
|
|
|
|
|
creeze
Threadersteller
Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht:
|
Verfasst So 03.06.2007 20:58
Titel
|
|
|
gut, danke, jetzt blicke ich da schon eher durch.
allerdings funktioniert es immernoch nicht so wirklich.
ich habe jetzt das hier:
Code: | MovieClip.prototype.slideTo = function (leaderX, leaderY, speed)
{
if (this._x != leaderX && this._y != leaderY)
{
this.onEnterFrame = function ()
{
var deltaX = this._x - leaderX;
var deltaY = this._y - leaderY;
var dist = Math.sqrt((deltaX * deltaX) + (deltaY * deltaY));
var moveX = speed * (deltaX / dist);
var moveY = speed * (deltaY / dist);
if (speed >= dist)
{
this._x = leaderX;
this._y = leaderY;
delete this.onEnterFrame;
}
else
{
this._x -= moveX;
this._y -= moveY;
}
};
}
};
|
und 2 schaltflächen denen ich folgendes script zugewisen habe:
Code: | on (press) {
bild.onMouseDown = function ()
{
bild.slideTo(400, 0, 40);
}
} |
(der anderen habe ich andere koordinaten gegeben)
problem ist aber, dass sich das bild erst bewegt wenn man 2 mal auf eine schaltfläche gedrückt hat und die andere schaltfläche reagiert danach überhauptnicht mehr...
schlimm wenn man anfänger ist
crz
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst So 03.06.2007 21:38
Titel
|
|
|
creeze hat geschrieben: | und 2 schaltflächen denen ich folgendes script zugewisen habe:
Code: | on (press) {
bild.onMouseDown = function ()
{
bild.slideTo(400, 0, 40);
}
} |
|
Deine Anweisung eingedeutscht:
Wenn du mich (Button) klickst, erhält bild (der Movieclip) eine dem onMouseDown-Event zugewiesene Funktion, die ausgeführt wird, sobald man bild klickt. Man muss also erst bild klicken, damit es sich bewegt.
Versuch's mal so:
Code: | on (press)
{
bild.slideTo(400, 0, 40);
} |
|
|
|
|
|
creeze
Threadersteller
Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht:
|
Verfasst So 03.06.2007 22:31
Titel
|
|
|
ouh.... wie dumm von mir :\
funktioniert aber jetzt mit einmal klicken. dankeschön
allerdings bewegt sich das bild wiederum nur wenn man auf einen button klickt.
crz
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst So 03.06.2007 23:48
Titel
|
|
|
creeze hat geschrieben: | allerdings bewegt sich das bild wiederum nur wenn man auf einen button klickt. |
War es nicht auch so angedacht?
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash Button mit Animation wenn Cursor den Button Verlässt?
[html/css] Submit-Button ohne Button
MC mit AS bewegen
DIV in Animation bewegen
Text Bewegen in Illustrator
Actionscript objekt bewegen
|
|