PDA

Volledige versie bekijken : Realistisch bewegen van een luchtballon


fhf032
%Europe/Berlin %662 %2005, 16:53
Hallo iedereen,

Ik ben zinnens een spel te maken met in de hoofdrol een luchtballon.
Deze zou zich moeten bewegen tussen een bergachtig landschap die op de achtergrond verschuift.

Beginnen bij het begin dus. Het realistisch bewegen van de ballon.

Het enige wat de ballon met kunnen is verticaal op en neer gaan, maar dan wel op die
manier dat het klikken van de muis als het ware de brander doet ontsteken en op die manier
de ballon TRAAGJES doet opstijgen. Blijft men duwen dan moet de ballon versnellen.
Wanneer de muistoets gelost wordt, moet het stijgen vertragen om vervolgens te beginnen
zakken. Ook het zakken moet versnellen. Drukt men – even - op de muistoets, dan
moet het zakken vertragen om vervolgens terug te beginnen stijgen…
Dit alles op één verticale lijn.
Aangezien de achtergrond zal verschuiven zal het net lijken alsof de ballon daadwerkelijk vliegt.
De bedoeling is om een parcours af te leggen met de luchtballon…
Maar ik haper aan de realistische beweging van de ballon.

Momenteel kan je de beweging bekijken op: http://www.optnet.be/flipover/test1.html

De onderstaande script zorgt voor de huidige beweging.

MovieClip.prototype.MoveToPoint = function(int_x, int_y, int_Snelheid)
{
this.onEnterFrame = function()
{
if (!int_Snelheid) int_Snelheid = 25;
if (int_x) this._x += (int_x - this._x) / int_Snelheid;
if (int_y) this._y += (int_y - this._y) / int_Snelheid;
};
};

_root.onMouseDown = function()
{
mc.MoveToPoint("", 20, 75);
};

_root.onMouseUp = function()
{
mc.MoveToPoint("", 340, 75);
};

Ziet iemand een oplossing?

Alvast bedankt voor de eventuele hulp!

Mvg.
Jan

Flasher
%Europe/Berlin %678 %2005, 17:17
Misschien heb je hier wat aan:
var snelheid:Number = 0;
var down:Boolean = false;
onMouseDown = function() {
down = true;
}
onMouseUp = function() {
down = false;
}
mc.onEnterFrame = function() {
if(down && snelheid<2) snelheid+=0.2;
else if(!down && snelheid>-2) snelheid -= 0.2;
this._y -= Math.round(snelheid);
}
Je moet misschien een beetje spelen met de settings om een realistisch effect te krijgen.

fhf032
%Europe/Berlin %687 %2005, 17:29
Klopt!!
Dit komt heel dicht in de buurt!

Hartelijk dank voor de hulp!!

mvg.
Jan