0

我对编程世界比较陌生,所以请耐心等待。我正在尝试制作一个程序教程,我应该在我的屏幕上让一个小家伙四处走动,但我不断收到有关不同事物的错误消息。我现在遇到的问题是错误代码 1046: Type was not found or is not compile-time constant: player

我尝试查找以前的错误,但没有发现与我自己相似的错误。我可能是一个肤浅的研究人员,但我宁愿直接问出什么问题并解决问题。

我正在使用 Flash CS6,代码如下:


package {
    import flash.display.MovieClip;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    import flash.events.Event;

    public class Main_Character extends MovieClip {
        var vx: int;
        var vy: int;

        public

        function Main_Character() {
            init();
        }

        function init(): void {
            vx = 0;
            vy = 0;

            stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
            stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }

        function onKeyDown(event: KeyboardEvent): void {
            if (event.keyCode == Keyboard.LEFT) {
                vx = -5;
            } else if (event.keyCode == Keyboard.RIGHT) {
                vx = 5;
            } else if (event.keyCode == Keyboard.UP) {
                vy = -5;
            } else if (event.keyCode == Keyboard.DOWN) {
                vy = 5;
            }
        }

        function onKeyUp(event: KeyboardEvent): void {
            if (event.keyCode == Keyboard.LEFT)(event.keyCode == Keyboard.RIGHT) {
                vx = 0;
            }
            if (event.keyCode == Keyboard.DOWN)(event.keyCode == Keyboard.UP) {
                vy = 0;
            }
        }

        function onEnterFrame(event: Event): void {
            player.x += vx;
            player.y += vy;
        }
    }
}

我之前尝试修复了几个点,但效果并不好。任何帮助都会很棒! - C

4

1 回答 1

0

您的课程正在引用player- 我认为这是您想要在屏幕上移动的图形元素 - 但它不知道它实际上是什么。

如果此类链接到player库中的项目,那么您可以尝试删除引用并简单地拥有:

function onEnterFrame(event: Event): void{
    x += vx;
    y += vy;
}

这会将xandy属性应用于链接的实例,就像您指定了this.xand一样this.y

如果这个类与player实例是分开的,那么你需要告诉它是什么player。您可以通过在设置实例时传入引用来做到这一点Main_Character

希望这有点道理。如果不确切知道构建的其余部分是如何构建的,以及元素是如何相互关联的,就很难更具体。如果您有更多详细信息,那么在我再喝一些咖啡后,我会尝试以更连贯的方式回答。

于 2013-06-14T12:40:57.730 回答