Obstacle n'ai pas traversé par un objet en ActionScript 3 ??
Fermé
JonyBernard
Messages postés1Date d'inscriptionvendredi 16 septembre 2016StatutMembreDernière intervention16 septembre 2016
-
Modifié par jordane45 le 16/09/2016 à 23:13
Salut j'ai un problème dans un code AS3 , dans le scène j'avait un objet et un obstacle mais je ne sais pas comment rendre cette obstacle traversé par l'objet! Voici le code et merci de m'aider! :)
Main.as :
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
public class Main extends Sprite
{
private var right:Boolean = (false);
private var left:Boolean = (false);
private var up:Boolean = (false);
private var down:Boolean = (false);
private var recTanglee:Rectangle = new Rectangle();
private var objett: Player = new Player();
public function Main()
{
objett.x = 400;
objett.y = 300;
addChild(objett);
recTanglee.x = 600;
recTanglee.y = 100;
addChild(recTanglee);
stage.addEventListener(Event.ENTER_FRAME, direction);
stage.addEventListener(KeyboardEvent.KEY_DOWN, kDown);
stage.addEventListener(KeyboardEvent.KEY_UP, kUp);
}
public function direction(e:Event):void
{
if (left)
objett.x -= 10;
if (right)
objett.x += 10;
if (up)
objett.y -= 10;
if (down)
objett.y += 10;
objett.wall();
}
private function kDown(e:KeyboardEvent):void
{
if (e.keyCode == 68)
{
right = true;
}
if (e.keyCode == 81)
{
left = true;
}
if (e.keyCode == 90)
{
up = true;
}
if (e.keyCode == 83)
{
down = true;
}
}
private function kUp(e:KeyboardEvent):void
{
if (e.keyCode == 68)
{
right = false;
}
else if (e.keyCode == 81)
{
left = false;
}
else if (e.keyCode == 90)
{
up = false;
}
if (e.keyCode == 83)
{
down = false;
}
}
}
}
Player.as:
package
{
import flash.display.MovieClip;
public class Player extends MovieClip
{
public var floor:int = 450;
public function Player()
{
this.graphics.beginFill(0xDB97DD);
this.graphics.drawRect(this.x - 20, this.y - 20, 40, 40);
this.graphics.endFill();
}
public function wall():void
{
if (this.x - this.width / 2 < 0)
this.x = this.width/2;
if (this.x + this.width / 2 > 800)
this.x = 800 - this.width / 2;
}
}
}
Rectangle.as:
package
{
import flash.display.MovieClip;
public class Rectangle extends MovieClip
{
public function Rectangle()
{
this.graphics.beginFill(0x000000);
this.graphics.drawRect(this.x, this.y, 50, 400);
this.graphics.endFill();
}
}
}
EDIT : Ajout des balises de code (la coloration syntaxique). Explications disponibles ici :ICI
Merci d'y penser dans tes prochains messages.
A voir également:
Obstacle n'ai pas traversé par un objet en ActionScript 3 ??