as3编译
❶ as3 编译错误 描述 "找不到类型,或者它不是编译时常数: Cube。private function AddEvent(p:Cube):void"
你没有导入Cube这个类
❷ as3程序员到底是什么
ActionScript,通常简称为AS,是Flash平台的100语言。作为程序,可以编译成SWF、SWC。SWF就是我们所说的Flash动画。但是现在SWF不仅仅是一个动画,而是RIA的一个载体。ActionScript有三个版本:1.0(AS1)、2.0(AS2)和3.0(AS3)。
只有FlashPlayer9及以上支持as3编译的SWF。这三个版本非常不同,现在最新的版本是AS3。所以as3程序员做的是flash开发,而不是flash设计。
(2)as3编译扩展阅读:
命名技巧
最好使用与所有者和相关项对应的包名。按照惯例,包名应该以反向url名开头。
例如:如果ExampleCorp(examplecorp.com)编写了一些ActionScript3.0类,所有这些类都将放在com中。examplecorp包(或com.examplecorp的子包)。
这样,如果英国有另一个ExampleCorp(ExampleCorp.co.UK),它也编写了一些ActionScript3.0类,您可以通过简单地使用包UK.co.ExampleCorp来确保唯一性。
当类是特定应用程序的一部分时,应该将它们放在特定于应用程序的子包中例如:ExampleCorp可能有一个名为WidgetStore的应用程序。
如果WidgetStore应用程序使用一个名为ApplicationManager的类,那么这个类应该在com.examplecorp中。或者在该包的子包中。
通常,包名以小写字母开头。
[隐式获取方法(getter)和设置方法(setter)]
public函数getcount():uint{
Return_count;
}
Publicfunctionsetcount(值:uint):uint{
If(值< 100){
_count=价值;
其他}{
ThrowError();
}
}
❸ flash as3.0编译显示错误:包和类不能嵌套
看起来你是把代码直接写到时间轴上了。
Flash的舞台和时间轴都是Flash自带类的实例,你在类的实例里面又新建包和类,当然是不可以的。这段代码是作为文档类来使用的,不是直接写到时间轴上的。
文档类是Flash文件绑定的一个外部类,其作用就是在执行这个Flash文件的时候,会首先执行文档类的构造函数,这样你可以在构造函数里写一些代码,只要一打开Flash就会先执行这些代码,从而实现一些功能。
文档类的使用方法:
一、新建一个AS文件
在文档属性里写上文档类的名称,只要类名,不需要加扩展名(Foo)。
第二个问题
import org.kingda.tools.GraphicTool;
确定这个包导入没有问题,也就是你的fla文件夹里得有org/kingda/tools/GraphicTool.as这个文件(org、kingda、tools都是文件夹),如果没有,就无法导入,会提示找不到GraphicTool文件。
PS:路径非常重要,上面提到的文件和文件夹必须和你发布的swf(或者exe文件、html文件等等)放在一个文件夹下,才能正常运行,所以你保存的fla文件也最好放在同一个文件夹下,这样在Flash里才能用ctrl+enter正常测试影片。
❹ flash CS3用as3编译运行后出现的不明信息,求解。
比如你的舞台上有一个按钮(btnTestButton)和一个影片剪辑(mcTestMC). 从你的说明来, 我的推测是你想: 当按下按钮的时候, 剪辑开始左平移, 松开按钮后剪辑停止. 那么就到时间轴上加入以下代码:
btnTestButton.addEventListener(MouseEvent.MOUSE_DOWN, MoveMC); //给这个按钮添加鼠标行为监听, 触发鼠标按下后执行MoveMC这个任务
btnTestButton.addEventListener(MouseEvent.MOUSE_UP, StopMC); //给这个按钮添加鼠标行为监听,触发鼠标松开后执行StopMC这个任务
function MoveMC(e:MouseEvent):void{ //当鼠标按下时
stage.addEventListener(Event.ENTER_FRAME, MoveMeThru);
//给舞台添加帧监听事件, 执行MoveMeThru任务
}
function StopMC(e:MouseEvent):void{ //当鼠标松开时
stage.removeEventListener(Event.ENTER_FRAME, MoveMeThru);
//将帧监听事件从舞台上注销
}
function MoveMeThru(e:Event):void{
mcTestMC.x -=10; //左平移剪辑
}
如果你嫌这个比较麻烦, 并且没达到你想要的效果, 那不知道你是不是在寻找以下这种效果
btnTestButton.addEventListener(MouseEvent.CLICK, MoveMC); //给鼠标添加监听事件:点击. 点击后触发任务: MoveMC
function MoveMC(e:MouseEvent):void{
mcTestMC.x -=10; //左平移剪辑
}
这个比上个简单得很. 但是是由点击(鼠标按下+松开)触发. 并且按一下, 移一次. 如果你只想移动一次, 那就加个boolean进去, 或者直接在移动后注销鼠标监听事件
方法1: 加boolean
var hasMoved:Boolean = false;
btnTestButton.addEventListener(MouseEvent.CLICK, MoveMC);
function MoveMC(e:MouseEvent):void{
if (!hasMoved){
mcTestMC.x -=10;
hasMoved=true;
}
}
方法2: 注销鼠标监听事件
btnTestButton.addEventListener(MouseEvent.CLICK, MoveMC);
function MoveMC(e:MouseEvent):void{
mcTestMC.x -=10;
btnTestButton.removeEventListener(MouseEvent.CLICK, MoveMC);
}
❺ as3 怎样编译这段文字,我把这段文字敲进编译,但是长和宽这两个属性出现错误 (需要完整的)
package {
public class MyRectangle{
private var width:Number;
private var height:Number;
public var area:Number;
public function MyRectangle(widthNum:Number, heightNum:Number) {
width = widthNum;
height= heightNum;
}
public function getArea():Number {
area = width*height;
return area;
}
}
}
不要用系统的关键字!!!!!!
❻ 学AS3.0用什么编译器呢求知道的指点一下。谢谢。。
初学flash写帧脚本的话 用Adobe Flash cs3 现在的flash版本到6了,请随意挑选。
大型的项目的话就要素材和脚本分开写, 素材处理Adobe Flash cs3 ,脚本编写用Adobe Flash Builder 4
❼ AS3.0反编译问题
反编译文件不一定有效,有的代码是作者加密过的。加密的效果,可以导致反编译出来的文件,卡死,或者报错。等等情况。。
❽ 请问一下flash用的 as3语言到底编译运行的原理是什么跟C++,java有什么不同as是编译还是解释的语言
跟java一样 是编译成中间字节码文件,再在虚拟机上运行,java是JVM,flash是flashPlayer中的AVM1(actionScript1.0 和 actionScript2) AVM2(actionScript3.0)
字节码中类似汇编的指令那样用跳转指令来解释执行每一步指令
很显然as属解释语言,与javascript一样的脚本语言