我有一些在Flash Professional CS5中可视化创建的类,将绘制的结果转换为MovieClip并将符号敲入AS代码。现在,我想为课程添加一些属性。更具体地说,我创建了Ball类,并且想要添加代表垂直和水平速度的变量。我如何编辑课程才能做到这一点?另外,当我想为类添加一些可见的外部元素时,起初我决定在代码本身中添加MovieClip属性,但后来调用了方法.addChild(),这对我来说非常合适。现在,我无法对不可见的属性进行同样的操作。那么,使用.addChild()添加可见元素并将它们添加到代码本身之间有什么区别?如何在代码本身中添加任何内容?在AS3中编辑视觉创建的类
0
A
回答
1
您应该避免将物理与实际视觉表示混合。尝试制作一个球类,其中包含velocityX
,velocityY
以及对MovieClip
的引用。使球类持有update()
,这可能会是这个样子:
public function update() : void {
ballMovieClip.x += velocityX;
ballMovieClip.y += velocityY;
}
在主类,你可以使用Event.ENTER_FRAME
-event调用ball.update();
这种方式可以独立更新你球的图形和物理代码。
1
您可以通过扩展或包装容器类来修改Flash导入的类。
这个包装是我在我的两款游戏中选择的方法。我用它来添加各种绘制相关的属性或附加对象。
public class WrapperOverSprite extends Sprite
{
private var instanceFromFlash: SomeClassTypeFromFlashViaSWC: new SomeClassTypeFromFlashViaSWC();
//Add whatever other variables you wish.
public function WrapperOverSprite ()
{
//Do stuff to your object.
}
//Can add whatever functions you wish...
}
不用说,这种方法,我用的通过,我在Flash/Flex Builder中导入的SWC文件导出从Flash对象。
2
您需要做的是创建一个外部ActionScript文件来保存类定义。做一个文件,把它Ball.as,并与
package {
import flash.display.*;
import flash.events.*;
public class Ball extends MovieClip {
public var vx:Number = 0;
public var vy:Number = 0;
// add more variables here
public function Ball() {
}
// add more functions here.
}
}
填补它在这一类中,你可以把所有你想要的函数和变量,并能够从时间轴代码访问它们。将它放在与.fla相同的文件夹中,然后将球的MovieClip导出为Ball,并将其扩展为flash.display.MovieClip。 Flash将找到该类的定义并用它来代替生成的类。
注:
- 如果/当你添加更多的功能或变量,不要忘记添加访问修饰符。 (公共,私人,受保护)
- 如果您更改与.fla相关的文件夹,则需要更改软件包,因此,如果您为游戏的所有源创建了com/mygame文件夹,你可以将第一行改为“package com.mygame {”,并将MovieClip导出为“com.mygame.Ball”。
- 您可能必须将类更改为动态类,方法是在public和class之间添加关键字“dynamic”。这意味着您可以在运行时向该类添加属性,但速度会受到影响。
我不明白你的意思是“添加不可见的属性”。addChild()函数应该适用于所有DisplayObjectContainer(Sprite和MovieClip,特别是)的子类,并且应该适用于DisplayObject的所有子类(包括Sprite,MovieClips,Bitmap,TextFields和Shapes)
相关问题
- 1. 编辑用视觉格式创建的NSLayoutConstraint
- 2. 编辑视图创建者uiTableview类
- 3. 过度视觉编辑
- 4. 视觉编辑jquery旋钮
- 5. 视觉svg编辑器
- 6. 网络视觉编辑器
- 7. 视觉编辑VS2010中的AXML文件
- 8. 在Flex/Flash AS3中创建可编辑的形状?
- 9. 在python中创建视觉效果?
- 10. Eclipse视觉指示被编辑的行
- 11. 视觉编辑wordpress html页面/文章?
- 12. Wp视觉编辑器没有显示
- 13. eclipse视觉编辑器死了吗?
- 14. 儿童视觉c编辑器
- 15. 视觉状态图编辑器
- 16. 创建的类似于AS3
- 17. 在AS3和AIR中创建文档类
- 18. 在AS3中创建类和属性
- 19. “创建新的视觉类”按钮不能在eclipse上点击
- 20. 1-N实体创建/编辑视图
- 21. 在iOS中创建可编辑的表格视图?
- 22. 如何在ASP.NET MVC中创建可编辑的局部视图
- 23. 如何在Visual Studio编辑器中禁用视觉“点”
- 24. SugarCRM编辑线索形式“编辑视图”和“快速创建”
- 25. Flex/AS3动态创建类
- 26. 多对象视图行为 - 为HasTraits子类创建编辑器
- 27. 创建类似于机器人默认视图“创建/编辑联系人”
- 28. 编辑文本 - AS3
- 29. 有选择地接受视觉工作室中的编辑?
- 30. 视觉工作室中的Eclipse编辑器右键栏
这是要走的路。 +1 – pkyeck