#actionscript-3 #flash
#actionscript-3 #вспышка
Вопрос:
я пытаюсь создать игру-стрелялку AS3, в которой игрок справа налево. Я хочу сделать так, чтобы при стрельбе (spawnKogel) shootAllow становился ложным, а затем инициировал kogelCheck , который проверяет, является ли маркер (Kogel) < -10. Если это правда, shootAllow становится True , и я могу стрелять снова.
Но я получаю ошибку в заголовке в конце spawnKogel, когда пытаюсь инициализировать kogelCheck. Вот мой код:
package
{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.ui.Keyboard;
import flash.ui.Mouse;
import flash.events.MouseEvent;
import flash.display.Stage;
import flash.media.Sound;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class amateurodius extends MovieClip
{
public var schip:ruimteschip = new ruimteschip();
public var Kogel = new Bullet();
var sound = new lazor();
var BGM = new Muziek();
var backdrop = new background();
var shootAllow:Boolean = true;
public function amateurodius()
{
addEventListener(Event.ADDED_TO_STAGE, initialize);
addEventListener(Event.ENTER_FRAME, vijandmaken);
stage.addEventListener(KeyboardEvent.KEY_DOWN, spawnKogel);
addEventListener(Event.ENTER_FRAME, kogelCheck);
Mouse.hide();
}
function initialize(e:Event)
{
addChild(backdrop);
addChild(schip);
BGM.play();
}
function spawnKogel(e:KeyboardEvent):void
{
if (shootAllow == true)
{
if (e.keyCode == Keyboard.SPACE)
{
addChild(Kogel);
Kogel.x = schip.x;
Kogel.y = schip.y;
sound.play();
shootAllow = false;
kogelCheck (e:Event);
}
}
}
function kogelCheck (e:Event)
{
if (Kogel.x < -30)
{
shootAllow == true;
}
else
{
shootAllow == false;
}
}
Ответ №1:
Удалите тип из события при вызове kogelCheck
:
// Just passing on the event, doesn't need type declaration
kogelCheck (e);
Комментарии:
1. Вздох… Это действительно было так. Спасибо! Иногда такие небольшие ошибки.
2. Это компилятор, и он не прощает. Маленький / большой, ему все равно. 😉