Lid |
|
Hallo,
Ik had aan svm, die de tutorial bewegingen met actionscript heeft gemaakt, een vraag gestuurd of hij wist hoe ik die code in AS3 kon zetten. Helaas, kon hij alleen zeer goed programmeren in AS2. Hij zei dat ik het dan maar op het forum moest plaatsen. Hieronder staat de code die ik heb proberen aan te passen van de oude code ( helemaal onderaan in AS2.) Ik krijg geen foutmeldingen, maar de ballen bewegen niet. Kijk maar eens :
import flash.display.*;
this.bal1.addEventListener(Event.COMPLETE, snelheidmaken);
this.bal1.addEventListener(Event.ENTER_FRAME, restmaken);
this.bal2.addEventListener(Event.COMPLETE, snelheidmaken);
this.bal2.addEventListener(Event.ENTER_FRAME, restmaken);
function snelheidmaken (Event):void{
var snelheid:int = 3; //de maximale snelheid -3
// een variable snelheid aanmaken voor x en y appart
var snelheidx:int = Math.random() * snelheid + 3;
var snelheidy:int = Math.random() * snelheid + 3;
if(snelheidx > 12){
snelheidx = 12;
}
// de positie bepalen, wat telkens herhaald wordt
}
function restmaken (Event):void{
var snelheid:int = 3;
this.x = this.x + snelheidx;
this.y = this.y + snelheidy;
var xlinks = this.x + (this.width);
var xrechts = this.x - (this.width);
var yonder = this.y + (this.height);
var yboven = this.y - (this.height);
// de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden
if(xlinks > 550){
var snelheidx = - Math.random() * snelheid;
}
if(xrechts < 0){
snelheidx = + Math.random() * snelheid;
}
if(yonder > 400){
var snelheidy = - Math.random() * snelheid;
}
if(yboven < 0){
snelheidy = + Math.random() * snelheid;
}
}
import flash.display.*; this.bal1.addEventListener(Event.COMPLETE, snelheidmaken); this.bal1.addEventListener(Event.ENTER_FRAME, restmaken); this.bal2.addEventListener(Event.COMPLETE, snelheidmaken); this.bal2.addEventListener(Event.ENTER_FRAME, restmaken); function snelheidmaken (Event):void{ var snelheid:int = 3; //de maximale snelheid -3 // een variable snelheid aanmaken voor x en y appart var snelheidx:int = Math.random() * snelheid + 3; var snelheidy:int = Math.random() * snelheid + 3; if(snelheidx > 12){ snelheidx = 12; } // de positie bepalen, wat telkens herhaald wordt } function restmaken (Event):void{ var snelheid:int = 3; this.x = this.x + snelheidx; this.y = this.y + snelheidy; var xlinks = this.x + (this.width); var xrechts = this.x - (this.width); var yonder = this.y + (this.height); var yboven = this.y - (this.height); // de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden if(xlinks > 550){ var snelheidx = - Math.random() * snelheid; } if(xrechts < 0){ snelheidx = + Math.random() * snelheid; } if(yonder > 400){ var snelheidy = - Math.random() * snelheid; } if(yboven < 0){ snelheidy = + Math.random() * snelheid; } }
AS2 bij het symbool bal1 en bal2.
onClipEvent(load){
snelheid = 5; //de maximale snelheid
// een variable snelheid aanmaken voor x en y appart
snelheidx = Math.random() * snelheid + 3;
snelheidy = Math.random() * snelheid + 3;
if(snelheidx > 14){
snelheidx = 14;
}
}
// de positie bepalen, wat telkens herhaald wordt
onClipEvent(enterFrame){
this._x = this._x + snelheidx;
this._y = this._y + snelheidy;
var xlinks = this._x + (this._width);
var xrechts = this._x - (this._width);
var yonder = this._y + (this._height);
var yboven = this._y - (this._height);
// de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden
if(xlinks > 550){
snelheidx = - Math.random() * snelheid;
}
if(xrechts < 0){
snelheidx = + Math.random() * snelheid;
}
if(yonder > 400){
snelheidy = - Math.random() * snelheid;
}
if(yboven < 0){
snelheidy = + Math.random() * snelheid;
}
}
onClipEvent(load){ snelheid = 5; //de maximale snelheid // een variable snelheid aanmaken voor x en y appart snelheidx = Math.random() * snelheid + 3; snelheidy = Math.random() * snelheid + 3; if(snelheidx > 14){ snelheidx = 14; } } // de positie bepalen, wat telkens herhaald wordt onClipEvent(enterFrame){ this._x = this._x + snelheidx; this._y = this._y + snelheidy; var xlinks = this._x + (this._width); var xrechts = this._x - (this._width); var yonder = this._y + (this._height); var yboven = this._y - (this._height); // de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden if(xlinks > 550){ snelheidx = - Math.random() * snelheid; } if(xrechts < 0){ snelheidx = + Math.random() * snelheid; } if(yonder > 400){ snelheidy = - Math.random() * snelheid; } if(yboven < 0){ snelheidy = + Math.random() * snelheid; } }
Waarschijnlijk heb ik een domme fout gemaakt, ik ben dan ook een beginner, maar ik heb toch heel het internet afgezocht om te voorkomen dat er compilatiefouten inzaten. Helaas werkt het nu nog niet. Weet iemand hoe ik de code zou kunnen aanpassen ?
EDIT :
Heb al gevonden, hoe de bal random beweegt, alleen kan ik hem niet binnen het scherm houden. Dit is de code, misschien kan nu iemand het aanpassen zodat het werkt ?
import flash.events.*;
var snelheid = 3;
var snelheidx = Math.random() * snelheid + 3;
var snelheidy = Math.random() * snelheid + 3;
bal.addEventListener(Event.ENTER_FRAME, enterframefunction);
function enterframefunction (e:Event):void{
bal.x = bal.x + snelheidx;
bal.y = bal.y + snelheidy;
// de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden
if(bal.x + (bal.width) > 550){
var snelheidx = - Math.random() * snelheid;
}
if(bal.x - (bal.width) < 0){
snelheidx = + Math.random() * snelheid;
}
if(bal.y + (bal.height) > 400){
var snelheidy = - Math.random() * snelheid;
}
if(bal.y - (bal.height) < 0){
snelheidy = + Math.random() * snelheid;
}
}
import flash.events.*; var snelheid = 3; var snelheidx = Math.random() * snelheid + 3; var snelheidy = Math.random() * snelheid + 3; bal.addEventListener(Event.ENTER_FRAME, enterframefunction); function enterframefunction (e:Event):void{ bal.x = bal.x + snelheidx; bal.y = bal.y + snelheidy; // de positie is nu dus al bepaalt, nu alleen nog "binnen de muren" houden if(bal.x + (bal.width) > 550){ var snelheidx = - Math.random() * snelheid; } if(bal.x - (bal.width) < 0){ snelheidx = + Math.random() * snelheid; } if(bal.y + (bal.height) > 400){ var snelheidy = - Math.random() * snelheid; } if(bal.y - (bal.height) < 0){ snelheidy = + Math.random() * snelheid; } }
|