所有
我对AS3很新,所以这可能是一个非常微不足道的问题。但是,我被困住了。
我正在开发一个新的Flash应用程序(AS3)。该应用程序使用Document类。
以下是我设置文件夹结构的方法:
“com”文件夹
“[mycompany]”文件夹
“[myproject]”文件夹
因此,在Flash CS5中,在主FLA中,Class:字段指向“com.mycompany.myproject.AppName”
如果单击该字段旁边的小“铅笔”图标,Flash CS5会在IDE中加载AppName.as。
在AppName.as中,前几行是:
package com.mycompany.myproject {
import flash.display.Sprite;
public class AppName extends Sprite {
当我测试电影时,一切都像我期望的那样有效。到目前为止,非常好。
然而,当我在我的家用电脑上尝试这个时,它不起作用 - 从不调用AppName.as中的构造函数。
没有输出消息或错误 - 只是没有任何反应。 Flash运行SWF,好像没有与之关联的ActionScript(没有时间轴代码)。
所以,显然,家用电脑上的东西与办公室电脑不同。但我无法弄清楚是什么。
这是我排除的:
奇怪的是......在我的家用电脑上,当我在Flash CS5中时 - 如果我点击Class:字段旁边的小铅笔图标,AppName.as会在IDE中加载。所以,就像Flash知道在哪里找到文档一样。
唯一的问题是,当我测试电影时,不会调用构造函数。
我知道该课程没有错误,因为它在我的办公室电脑上完美运行。
但是,为了确定,我将班级缩减为:
package com.mycompany.myproject {
import flash.display.Sprite;
public class AppName extends Sprite {
public function AppName () {
trace ("Working!");
}
}
}
在我的办公室电脑上,当我测试时,我在输出窗口看到“正在工作”;在我的家用电脑上,没有。
非常感谢任何见解或建议!
[UPDATE]
回应几条评论,这里是各种设置的截图:
答案 0 :(得分:1)
从类名末尾删除“.as”可以解决您的问题。
Flash IDE将从合格的类名称中获取文件的位置。
答案 1 :(得分:1)
您可以尝试以下内容:转到输出窗口,然后单击关闭按钮下方右上方的小图标。在出现的菜单中,转到“过滤级别”并将其设置为“详细”并再次尝试发布。这有帮助吗?
答案 2 :(得分:0)
我知道回答你自己的问题是不好的形式,但我终于明白了。它与路径中的lettercase有关。
以下是详细信息(以防万一其他人感兴趣)......
事实证明,在我最初在(我的办公室PC)上创建应用程序的计算机上,我使用的路径是:
所以,我的文档课开始了:
package com.mycompany.MyProject {
正如我所提到的,我使用dropbox。
因此,当我启动家用电脑时,Dropbox会自动启动,并同步所有内容。
但是,这是Dropbox创建的内容:
请注意,“myproject”的大写方式不同。
显然,Flash IDE对case不敏感,这就是为什么当我尝试编辑它时能够找到Class文档(MyProject.as)的原因。但是,编译器必须是,因此无法找到它。
一旦我将“myproject”文件夹更改为“MyProject”,一切都运行良好。
抱歉这么愚蠢的问题。
答案 3 :(得分:0)
已经很长时间了,但是如果有人再遇到这个问题的话。
我今天刚遇到这个问题,幸运的是我能够识别出我的错误。 我错误地添加了“:String”,导致文档类从FLA中消失。
if (floors = '') {
floors:String = '{"floors":[{...'
}
通过删除不应该存在的“:String”,文档类重新开始运行。
if (floors = '') {
floors = '{"floors":[{...'
}