Может кто-то помочь мне исправить ошибку:ERROR вспышка (1023: несовместимой переопределение И 1021:.. Повторяющиеся определения функции)
(1023: Incompatible override. AND 1021: Duplicate function definition)
Я новичок в флэш и Action Script 3 поэтому я действительно не знаю, как это исправить.
Я создаю игру, которая идет как это:
Если я нажмите ENTER , то «pamato» должен идти туда, где «Mouse2» есть. Он должен следовать направлению мыши2. Он также должен иметь трение и скорость.
Источником двух ошибок является скорость функции.
Вот код, который я сделал до сих пор ...
var sb:Number = 0;
var friction:Number = 0.0085;
var speed:Number = .002;
var path:Shape = new Shape();
addChild(path);
pamato.addEventListener(MouseEvent.MOUSE_DOWN, t_startDrag);
pamato.addEventListener(MouseEvent.MOUSE_UP, t_stopDrag);
position.addEventListener(MouseEvent.MOUSE_UP, b_position);
mouse.addEventListener(MouseEvent.MOUSE_UP, drawPath);
speedBar.addEventListener(Event.ENTER_FRAME, speed);
pamato.addEventListener(Event.ENTER_FRAME, moving);
// dragging the pamato to its position
function t_startDrag(event:Event):void
{
pamato.startDrag();
}
function t_stopDrag(event:Event):void
{
pamato.stopDrag();
if(pamato.hitTestObject(circle))
{
pamato.x = 605;
pamato.y = 570;
}
}
// position button
function b_position(event:Event):void
{
mouse.addEventListener(Event.ENTER_FRAME, cursor)
{
function cursor(e:Event):void
{
mouse.alpha = 9;
mouse.x = mouseX;
mouse.y = mouseY;
}
}
}
// path && mouse2
function drawPath(event:Event):void
{
mouse2.x = mouse.x;
mouse2.y = mouse.y;
mouse2.alpha = 10;
path.graphics.clear();
path.graphics.lineStyle(1,0xFFFFFF,100);
path.graphics.moveTo(pamato.x, pamato.y);
path.graphics.lineTo(mouse2.x, mouse2.y);
}
// speed bar
function speed(event:Event):void
{
speedBar.scaleX = sb;
stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown)
{
function myKeyDown(e:KeyboardEvent):void
{
if (e.keyCode == Keyboard.SPACE)
{
sb += .0005;
if (sb > 1)
{
sb = 0;
}
}
}
}
}
// moving the pamato
function moving(event:Event):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, enterKey)
{
if (e.keyCode == Keyboard.ENTER)
{
var myRadians:Number = Math.atan2(mouse2.y-pamato.y, mouse2.x-pamato.x);
var myDegrees:Number = Math.round((myRadians*180/Math.PI));
var yChange:Number = Math.round(mouse2.y-pamato.y);
var xChange:Number = Math.round(mouse2.y-pamato.y);
var yMove:Number = Math.round(yChange/20);
var xMove:Number = Math.round(xChange/20);
var yspeed:Number = yspeed + yMove;
var xspeed:Number = xspeed + xMove;
removeChild(holder);
mouse2.alpha = 0;
mouse.alpha = 0;
sb = 0;
}
}
xspeed *= friction;
yspeed *= friction;
y += yspeed;
x += xspeed;
}
я была еще одна ошибка (1013: Частный атрибут может использоваться только в определениях класса.) Вот мой модифицированный код: // скорость грифа скорость функции (событие: Event): пустота { \t SpeedBar. scaleX = sb; \t \t \t stage.addEventListener (KeyboardEvent.KEY_DOWN, this._onKeyDown); } частные функции _onKeyDown (е: KeyboardEvent): пустота {\t \t , если (e.keyCode == Keyboard.SPACE) \t { \t \t SB + = 0,0005; \t \t \t \t \t \t , если (SB> 1) \t \t { \t \t \t SB = 0; \t \t} \t}} я думаю, я сделал это неправильно ... :( также, вы можете проверить функции перемещения? .. потому что я думаю, что это источник проблемы. Появились ошибки при Я добавил, что функция .... – jcAmats
Я изначально сделал эту игру в AS2, но когда я попытался преобразовать ее в AS3, это беспорядок! его намного проще, когда я сделал эту игру в AS2 ... – jcAmats
это код снова .. '// бар скорости функция скорость (событие: событие): void { \t speedBar.scaleX = sb; \t \t \t stage.addEventListener (KeyboardEvent.KEY_DOWN, this._onKeyDown); } частные функции _onKeyDown (е: KeyboardEvent): пустота {\t \t , если (e.keyCode == Keyboard.SPACE) \t { \t \t SB + = 0,0005; \t \t \t \t \t \t , если (SB> 1) \t \t { \t \t \t SB = 0; \t \t} \t} } ' – jcAmats