我对编程世界比较陌生,所以请耐心等待。我正在尝试制作一个程序教程工作,我应该在我的屏幕上做一个小家伙四处走动,但我不断收到有关不同事情的错误消息。我现在坚持的问题是错误代码1046:找不到类型或者不是编译时常量:播放器
我尝试查找以前的错误,但我发现没有类似于我自己的错误。我可能是一个浅薄的研究员,但我宁愿直接问问题是什么并解决问题。
我正在使用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
答案 0 :(得分:0)
你的类正在引用player
- 我假设它是你想要在屏幕上移动的图形元素 - 但它不知道它实际上是什么。
如果此类链接到库中的player
项,那么您可以尝试删除引用并只是:
function onEnterFrame(event: Event): void{
x += vx;
y += vy;
}
这会将x
和y
属性应用于链接的实例,就像您已指定this.x
和this.y
一样。
如果此类与player
实例分开,那么您需要告诉它player
是什么。您可以通过在设置Main_Character
希望这有一定道理。如果不确切知道构建的其余部分是如何构建的以及元素如何相互建立,那么很难更具体。如果您有更多细节,那么在我喝了更多咖啡后,我会尝试以更连贯的方式回答。