gpt4 book ai didi

actionscript-3 - AS3尝试导入另一个.as文件时出现错误5001

转载 作者:行者123 更新时间:2023-12-02 10:51:52 26 4
gpt4 key购买 nike

我是AS3的新手,但仍然想尽办法。
我正在尝试编写一个非常简单的平台游戏。目前,我正在尝试通过移动他背后的背景来使玩家看起来正在移动。因此,我制作了一个单独的.as文件,以包含进行后台移动的简单逻辑。它的标题是BG.as,以前我可以导入具有相同名称的文件,而在这方面没有任何问题,但是现在它对我来说很气质。我进入了AS3 Pref的Flash,并设置了根文件夹,包含根文件夹的文件夹甚至是保存文档本身的文件夹的文件路径。 .as文件和.fla文件都在同一文件夹中,但是仍然出现错误5001,它声明BG的名称不反射(reflect)该位置的文件。我已经尝试过将文件路径写为包的名称,依此类推。如果有人对问题可能有什么想法,我将不胜感激。
这是我的代码。

import movingBackground.BG.*;

这只是我的.fla文件中的import语句。 movingBackground是它所在的文件夹的名称。
package BG
{
import flash.events.EventDispatcher;
import flash.events.Event;

public class BG
{
public function loop(event:Event):void
{
if(leftPressed)
{
BG.x += xScrollSpeed;
}
else if(rightPressed)
{
BG.x -= xScrollSpeed;
}
else if(upPressed)
{
BG.y += yScrollSpeed;
}
else if(downPressed)
{
BG.y -= yScrollSpeed;
}
}
stage.addEventListener(Event.ENTER_FRAME, loop);
}
}

这是我的BG.as文件。

~~~~~编辑:: ~~~~~~~
好的,我已经重命名了,重命名似乎已经解决了Error 5001,但是有一个新问题。现在似乎无法弄清楚我要导入的类是否存在。
Scene 1, Layer 'Code', Frame 1, Line 6  1180: Call to a possibly undefined method bg.
Scene 1, Layer 'Code', Frame 1, Line 6 1046: Type was not found or was not a compile-time constant: bg.
Scene 1, Layer 'Code', Frame 1, Line 4 1172: Definition thebackground:bg could not be found.
Scene 1, Layer 'Code', Frame 1, Line 4 1172: Definition thebackground:bg could not be found.

这可能与我错误地导入有关,但是那个错误可能是我不能说我有任何想法。我添加了一个构造器来实例化bg(至少我认为是的。)将继续探索更多信息。
话虽如此,这是我到目前为止所编辑的内容:
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.events.KeyboardEvent;
import thebackground.bg;

var testbg:bg = new bg;
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var upPressed:Boolean = false;
var downPressed:Boolean = false;

testbg.moveBackGround();

这就是我目前在主.fla文件中所拥有的。
package thebackground
{
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.display.MovieClip;

public class bg extends MovieClip
{

var xScrollSpeed:int = 10;
var yScrollSpeed:int = 10;

public function moveBackGround(event:Event):void
{
if(leftPressed)
{
BG.x += xScrollSpeed;
}
else if(rightPressed)
{
BG.x -= xScrollSpeed;
}
else if(upPressed)
{
BG.y += yScrollSpeed;
}
else if(downPressed)
{
BG.y -= yScrollSpeed;
}
}
}
}

这就是新重命名的thebackground.as中的内容

最佳答案

您在类(class)中的包裹无法反射(reflect)您的导入。

您的类文件定义中的软件包应为movingBackground.BG,否则您将收到一条错误消息,说它不匹配。

如果为了避免混淆,别无选择,则将包的名称与类的名称相同也不是一个好主意。

我也看到,您也没有BG类的构造函数。

绝对要看一看对此答案的第一条评论,因为它有助于利用标准命名约定。跟随他们很有值(value)。

关于actionscript-3 - AS3尝试导入另一个.as文件时出现错误5001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20079418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com