WhiteRider |
|
 |
 |
|
Posted 08-12-2006 11:19 by WhiteRider |
  |
|
Ja, heeft iemand hier enig verstand van? Internet biedt momenteel geen uitkomst, maar ik zit vast. Kijk eerst even naar de volgende code:
onClipEvent (load) {
yspeed = 0;
xspeed = 0;
wind = 0.00;
power = 0.65;
gravity = 0.1;
upconstant = 0.75;
friction = 0.99;
int (getal);
getal = 0;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
xspeed = xspeed-power;
}
if (Key.isDown(Key.RIGHT)) {
xspeed = xspeed+power;
}
if (Key.isDown(Key.UP)) {
yspeed = yspeed-power*upconstant;
}
if (Key.isDown(Key.DOWN)) {
yspeed = yspeed+power*upconstant;
}
xspeed = (xspeed+wind)*friction;
yspeed = yspeed+gravity;
_y = _y+yspeed;
_x = _x+xspeed;
_rotation = _rotation+xspeed;
if (_root.wall.hitTest(_x, _y, true)) {
_root.getal --;
xspeed = 0;
yspeed = 0;
_x = 120;
_y = 120;
}
if (_root.coin.hitTest(this.hero_hit)) {
_root.coin._x = Math.random()*400+50;
_root.coin._y = Math.random()*200+50;
_root.coinSpeed = Math.random()*10;
_root.getal++;
this.gravity = this.gravity + 0.01;
trace(this.gravity);
}
trace(gettimer());
}
}
Dat is het actiescript achter een balletje, en zoals je leest moet je met balletje A het muntje B raken. Dan gebeurt er een aantal dingen, zoals de verhoging van de 'gravity', zie hier:
this.gravity = this.gravity + 0.01;
trace(this.gravity);
Het probleem is alleen, dat het op dit moment bezigheidstherapie is, in plaats van een 'spelletje'. Er moet dus een eind aan komen. De gravity wordt per hit verhoogd met 0.01 en heeft een startwaarde van 0.1. Rond gravity 4.5 is de kracht van de zwaartekracht hoger dan dat van je pijltjestoets.
Daar wil ik gebruik van maken, door hem te laten stoppen bij een gravity van 4.5.
Het enige probleem: mijn if-statement werkt voor geen meter.
Indien je hier geen oplossing voor weet, maar wel weet hoe ik na 30.000 milliseconden (de gettimer-functie werkt in millisec.) mijn spelletje moet laten stoppen, hoor ik dat ook graag. Hier geldt ook: het werkt niet.
 |