Je reçois donc une erreur "Erreur # 1063: Incompatibilité du nombre d'arguments". Ce qui est bizarre, c'est que ça n'empêche pas le jeu de fonctionner, mais j'aimerais savoir pourquoi j'ai même une erreur en premier lieu. L'erreur complète est:Mystère Erreur # 1063: Incompatibilité du nombre d'arguments
ArgumentError: Error #1063: Argument count mismatch on Hock(). Expected 3, got 0.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at PlayScreen()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\PlayScreen.as:30]
at Main/addPlayscreen()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\Main.as:17]
at Main()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\Main.as:13]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()
Le code pour écran de lecture est:
import flashx.textLayout.formats.BackgroundColor;
import flash.display.SimpleButton;
import flash.ui.Mouse;
import flash.text.TextField;
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class PlayScreen extends MovieClip
{
public var batArmy:Array;
public var hockArmy:Array;
public var shadow:Shadow;
public var crossHairs:CrossHairs;
var Layer01:MovieClip;
var Layer02:MovieClip;
var Layer03:MovieClip;
var Layer04:MovieClip;
var Layer05:MovieClip;
var randomX:Number = 300 + (660 - 300) * Math.random();
public function PlayScreen()
{
//Mouse.hide();
addBatButton.addEventListener(MouseEvent.CLICK, addBat);
addHockButton.addEventListener(MouseEvent.CLICK, addHock);
batArmy = new Array();
hockArmy = new Array();
//addEventListener(Event.ENTER_FRAME, crossHairsMove);
//stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
Layer01 = new MovieClip;
this.addChild(Layer01);
Layer02 = new MovieClip;
this.addChild(Layer02);
Layer03 = new MovieClip;
this.addChild(Layer03);
Layer04 = new MovieClip;
this.addChild(Layer04);
Layer05 = new MovieClip;
this.addChild(Layer05);
//add crossHair
/*crossHairs = new CrossHairs(mouseX,mouseY,this);
Layer05.addChild (crossHairs);
addEventListener(Event.ENTER_FRAME, crossHairsMove);*/
}
/*public function onKeyPress(keyboardEvent:KeyboardEvent):void
{
if (keyboardEvent.keyCode == Keyboard.DOWN)
{
trace("yar");
addBat;
}
}*/
public function addBat(mouseEvent:MouseEvent):void
{
var randomX:Number = 300 + (660 - 300) * Math.random();
var newBat = new Bat(randomX, -50, this);
batArmy.push (newBat);
Layer02.addChild (newBat);
}
public function addHock(mouseEvent:MouseEvent):void
{
var newHock = new Hock(-72, 170, this);
hockArmy.push (newHock);
Layer02.addChild (newHock);
}
/*public function crossHairsMove (e:Event):void
{
crossHairs.x = mouseX;
crossHairs.y = mouseY;
}*/
}
et des regards de celui-ci l'erreur a quelque chose à voir avec la classe Hock, voici donc le code pour que:
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.ui.Mouse;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;
public class Hock extends MovieClip
{
private var _screen: PlayScreen;
public var xSpeed:Number;
public function Hock(startX:Number, startY:Number, screen:PlayScreen)
{
_screen = screen;
x = startX;
y = startY;
width = 100;
scaleY = scaleX;
addEventListener(Event.ENTER_FRAME, moveRightFar);
addEventListener(Event.ENTER_FRAME, moveSpeed)
}
public function moveSpeed(e:Event):void
{
x += xSpeed;
}
public function moveRightFar (e:Event): void
{
if (x < 0)
{
gotoAndStop("rollRight");
xSpeed = 13;
}
else if (x >= 240)
{
gotoAndStop("still")
xSpeed = 0;
}
}
}
maintenant, je peux me tromper, mais je pense qu'il est un problème avec var newHock = new Hock(-72, 170, this);
dans la fonction « addHock », mais j'ai 3 arguments là, pas 0. droit? Quoi qu'il en soit, comme je l'ai dit, ça n'empêche pas le jeu de fonctionner, mais c'est un peu ennuyeux, donc tout point de vue est le bienvenu. Je suis sûr que c'est quelque chose d'évident. Merci!