Je joue avec un Physics Engine for AS3 et le code ci-dessous est fondamentalement l'exemple de bonjour monde. Cependant, j'ai fait un léger changement en déclarant la propriété "ball" comme WheelParticle au début de la définition de la classe. (pardonnez ma terminologie si c'est faux). Avant, il a été déclaré dans le constructeur commeComment réparer cette erreur de coercition implicite dans Flash?
var ball:WheelParticle = new WheelParticle(...);
et qui a bien fonctionné. Mais maintenant, essayer mon chemin, je reçois l'erreur
d'une coercion explicite valeur de type org.cove.ape.WheelParticle à une classe de type sans lien | balle: WheelParticle = new "à la classe WheelParticle affectation illégale"
... etc etc
Je pense ma déclaration public var ball:WheelParticle
devrait être autre chose. Mais quoi?
Quoi qu'il en soit, voici le code. C'est assez court. Je voudrais me référer à la documentation, mais il n'y en a pas. Rien que je puisse trouver de toute façon.
package{
import org.cove.ape.*;
import flash.events.*;
import flash.display.Sprite;
public class Bounce extends Sprite {
public var ball:WheelParticle;
public function Bounce() {
stage.focus = this;
stage.frameRate = 100;
addEventListener(Event.ENTER_FRAME, run);
stage.addEventListener(KeyboardEvent.KEY_DOWN, moveLeft);
APEngine.init(0.3);
APEngine.container = this;
APEngine.addMasslessForce(new Vector(0,2));
var defaultGroup:Group = new Group();
defaultGroup.collideInternal = true;
var ball:WheelParticle = new WheelParticle(250,10,40, false, 1, 0.7, 0.1);
defaultGroup.addParticle(ball);
var rp:RectangleParticle = new RectangleParticle(250,300,300,50,0,true);
defaultGroup.addParticle(rp);
APEngine.addGroup(defaultGroup);
}
private function moveLeft(e:Event):void{
ball.speed += 1;
}
private function run(evt:Event):void {
APEngine.step();
APEngine.paint();
}
}
}