AS3 1084: Синтаксическая ошибка: ожидание rightparen перед двоеточием

#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. Это компилятор, и он не прощает. Маленький / большой, ему все равно. 😉