2013-04-16 90 views
0

我想在我的Flash应用程序中只包含一个.as文件。我敢肯定,这并不难,我刚刚得到的东西稍有不妥,但在我的代码的顶部,我总是把:包含/导入独立的AS3文件

include {"Le Bot src/Skill.as";} 

OR

import {"Le Bot src/Skill.as";} 

尝试,并包括一个独立的.as文件。但是,当我使用include谈到了错误: 期待串文字前左大括号 ,当我使用“进口”它用错误的出现:

expecting identifier before left brace 
expecting semicolon before left brace 

我只是一个初学者到AS3,是有没有办法解决这个问题? 顺便说一句,如果删除在任一侧上的两个撑杆,然后它出现与另一个误差

回答

3
import locationOfASFile.Skill; 

例如如果您Skill.as文件所在的目录名为“LeBotsrc”这是一个名为

import com.LeBotsrc.Skill; 

而且你的包需要反映其位置的目录“COM”内内。所以里面Skill.as你会

package com.LeBotsrc { 
+0

感谢您的回应,这是非常有益的! :) 它现在似乎工作正常,我只需要在其他几个地方使用这个,我的项目将完成:D –

+1

没问题。记住如果你认为它解决了你的问题(或者哪一个最有帮助),那么选择一个正确的答案。将答案标记为正确是堆栈溢出的一个重要方面,并有助于提高您的声誉。 – crooksy88

+0

完成:)再次感谢您的帮助 –

0

Le Bot src\Skills.as应首先访问从项目文件夹正确的相对路径(package\name\class.as),那么你这样做import package.name.class,将自己的价值观,而不是占位符的位置。我说,你看个明白Skill.as并找出:

package foo.bar { 
    import baz.* 
    ... 
    public class Skill { 

这意味着AS文件应在foo\bar\Skill.as位于何处foo文件夹应该是哪里是你的FLA文件夹中。在FlashDevelop的情况下,它应该在src之内,从*.as3proj文件。把它放在那里,然后加上:

import foo.bar.Skill; 

你想要引用这个类的文件或时间线。

+0

这与@ Crooksy88答案帮助我解决它:) –

1

包含指令在AS3中使用得并不多,因为使用包和类组织代码很容易。但是,inlcude有一个奇怪的事情。 无结束分号。 试试这个:

include "Le Bot src/Skill.as" 

所以总结起来: 包括是不一样的进口。包括不使用大括号的 。 包括在行末尾不能有分号。 inlcude必须是在一行中的格式:

include "pathto/myfile.as" 

使用包括将指定文件中添加动作到时间轴,其中包括被使用。 您也可以通过设置扩展库中主时间轴或符号的文档类来实现同样的目的。这样做增加了需要使用类的复杂性,但类包含的功能和灵活性足以弥补其额外的复杂性。

例如,使用include,您不能指定一个函数或变量为公共或私有。他们都是公开的。使用类可以使代码更容易实现面向对象,这是使项目更友好的好方法。

+0

我没有设法得到这种方法的工作,但你的'包括'的信息对我的学习很有用,所以非常感谢:) –

+0

在我看来,你最好学习使用类和“导入”。它几乎是所有Actionscript 3开发的基石。 –