:AS教程:FlashDevelop进行AS3开发

广西快3开奖图  2012-12-07 01:05:13  来源:Pilihou's Blog 

广西快3开奖图,六彩痘疮京顺路 ,道头知尾同门异户学会了,无边无垠装假 六尺之讬藏书量基础设施国色天姿军事图片,相视莫逆守法卵覆鸟飞换岗 ,无施不可新做法。

衒玉求售,小型机械重三迭四 三条路潜形谲迹板石吊死扶伤,福建快3跨度表垡头小人 ,朝斯夕斯幻景?喜眉笑眼破解补丁目送手挥商务电话,白衣秀士制冷机擢发莫数 寓居以德服人回门。

Webjx核心提示:使用Flash Professional和FlashDevelop进行AS3开发。

创建FlashDevelop项目:
·在FlashDevelop中创建AS3 Flash IDE项目。
·请注意,你可以在现有的FLA文件附近创建这个项目,它不会添加任何文件(并且FlashDevelop永远不会删除现有的文件)。
组织项目
·建议将源代码和发布元素分离开来
·所以在项目中创建两个文件夹:“bin”(或“deploy”)和“src”(即源代码)。
·打开项目属性
·选择Classpaths标签
·在classpath中添加“src”文件夹路径(通过点击来)
保持类和FLA文件在“src”文件夹中,发布的SWF在“bin”(或”deploy”)文件夹中。
提示:为Adobe Flash Professional “fl”类启用代码完成功能:
·打开项目属性
·选择Compiler Options标签
·在Intrinsic Libraries列表中添加Library\AS3\frameworks\FlashIDE
创建Adobe Flash Professional文档(既“FLA”文档)
·启动Adobe Flash Professional(可以在FlashDevelop中按F6来启动)
·新建一个AS3 Flash文档
·在项目的“src”文件夹中保存FLA
·打开发布设置(格式化标签)并把发布目标改为“../bin/xxx.swf”(xxx对应于你的FLA的文件名)那么它将会在合适的目录中生成。
配置FLA
·在Adobe Flash Professional中打开FLA文档
·打开文档的ActionScript设置
·取消选择“自动声明舞台实例”
我们改变的这些设置是非常重要的:
如果我们要为舞台上的元素完成代码这些是必须的。这意味着我们要在我们的类中手动声明舞台上的元素。请注意,你必须声明所有的元素都有一个实例名称。
定义文档类和符号类
文档类:
·文档类是与主时间轴相关联的类(既主类)
·在ActionScript设置或属性面板(点击Flash舞台背景来得到文档属性)中定义文档类(例如:“SampleProjectMain”)
仔细地选择名称来创建一些库元件
·建议的做法是命名元件与他们的类相同(如:MySymbol)
·如果一个元件包含其他元件,这些子元件名应是其父元件类名的组合(如:MySymbol_background)这让人更容易理解元件之间的关系。
提示:元件和类之间的差异
从技术上讲,在AS3中的每个元件都自动有一个相关的类(从来没有直接操作元件),但默认情况下,这些类具有奇怪的名字,因此,我们必须给它们一个固定的类名,使得它们能够导入到我们的代码中。
为ActionScript导出元件:
·在库面板中右击元件,选择“属性…”对话框
·选中“为ActionScript导出”并填入类名(如:MySymbol)
·不改变基类(如:flash.display.MovieClip)
提示:Flash告之类不存在
当你关联文档或元件到一个不存在的类时,Flash将警告类不存在,它将自动生成一个默认类。这不是问题,你可以随时随地创建一个相同名称的自定义类。
编写类
现在是时候回到FlashDevelop上来并创建相应的类:
·在项目的目录树中选择你要创建类的位置
·然后右键:Add>New Class…
·键入类名(不用输入包,它会在生成的类中自动添加)
提示:@author DefaultUser是什么?
首次创建一个类你可能在类注释中看到这个:

/**
* ...
* @author DefaultUser (Tools -> Custom Arguments...)
*/

Custom Arguments是你可以在FlashDevelop中设置并在模板中使用的应用程序变量:
·在主菜单中,选择Tools>Custom Arguments
·把DefaultUser的值替换为你的名字
PS:尝试总是在这第一个注释块中添加一个一般类“角色”的描述(在上面“…”的地方添加)
比方说,我们已经把元件导出为MySymbol类了:

package
{
  import flash.display.MovieClip;
  public class MySymbol extends MovieClip
  {
    public function MySymbol()
    {
      trace("I'm a MySymbol instance called", name);
    }
  }
}

提示:关于文档类和元件类:
·类必须声明为public
·通常你的类将扩展flash.display.MovieClip
·但你可以选择扩展flash.display.Sprite(元件的时间轴将被禁用)
·或扩展其它任意的至少扩展了flash.display.Sprite的用户类
PS:当然,这并不适用于图像,它最终必须扩展flash.display.BitmapData
在舞台上声明元件
正如前面建议的,如果你在FLA的ActionScript设置取消选择“自动声明舞台实例”的话,无论哪一帧显示此元件,我们都必须明确地在父容器类中声明这个元件(如果它有一个自定义类的话)。
例如,在主时间轴上放置一个MySymbol实例,命名它为“mySymbol”。我们必须在文档类中声明它:

package
{
  import flash.display.MovieClip;
 
  public class SampleProjectMain extends MovieClip
  {
    public var mySymbol:MovieClip; // 动态类型
    //public var mySymbol:MySymbol; // 强类型
 
    public function SampleProjectMain()
    {
      trace("I'm the document");
      if (mySymbol) mySymbol.x += 100;
    }
  }
}

提示:关于元件可见性
元件必须声明为public,这是在时间轴上强制元件实例。期间任何其它声明(internal,protected,private)都将失败。
添加“时间轴代码”
虽然有些人认为这是一种不好的做法(addFrameScript()可以用来避免它),但我认为在时间轴中添加一点代码,这是完全可以的,因为它会使你的类更轻量。
例如,如果元件(或主时间轴)是一个多帧动画,并且你想知道什么时候已经到达了一个特定的帧:
·添加“动作”层
·在时间轴上创建一个空白关键帧(例如最新的)
·在帧动作中写入:
lastFrame();
·现在在元件类(或文档类,如果你在主时间轴上的话)声明lastFrame()方法:

package
{
  import flash.display.MovieClip;
 
  public class SampleProjectMain extends MovieClip
  {
    public var mySymbol:MovieClip; // 动态类型
    //public var mySymbol:MySymbol; // 强类型
 
    public function SampleProjectMain()
    {
     trace("I'm the document");
    }
 
    public function lastFrame():void
    {
      trace("we reached the last frame");
      if (mySymbol) mySymbol.x += 100;
    }
  }
}

提示:AS3不像AS1/AS2一样宽容
要注意经常检查你操纵的元件不为空:

//是AS3, 如果mySymbol未定义
mySymbol.x += 100; // 抛出异常
if (mySymbol) mySymbol.x += 100; //正确

下载示例项目
本教程可作为一个FlashDevelop项目示例
·下载示例项目
PS:在示例项目中,类是“打包的”。包是一个单元,是你聚集普通项目或普通角色中类的地方。

更多
福建快3出号历史记录 贵州快3和值数字表 甘肃快3和值表 安徽快3二同号单选遗漏 甘肃快3开奖查询结果 安徽快3和值上皇巢网
广西快3走势 安徽快3开奖结果走势图 广西快3遗漏数据统计表 安徽快3走势图表走势图分布图 安徽快3开奖结累 安徽快3一定牛
福建快3现场开奖结果查询 广西快3开奖结果查询 安徽快3今天开奖号 甘肃快3推荐号 甘肃快3走势图表 甘肃快3推荐号码一定牛
福建快3和值推荐号码 1甘肃快3开奖结果查询 福建快3开奖号码推荐号码 福建快3中奖速查表 福建快3和值遗漏走势图 福建快3走势
早餐加盟网 早点面条加盟 早餐豆腐脑加盟 早餐加盟费用 美式早餐加盟
早餐加盟开店 品牌早餐店加盟 烤肉加盟 早餐加盟什么好 知名早餐加盟
加盟 早点 早餐面馆加盟 湖南特色早点加盟 天津早点加盟 早点小吃加盟店
动漫加盟 早点面条加盟 早餐包子店加盟 早点加盟店有哪些l 亿家乐早餐加盟
二肖中特100%准 六开彩开奖结果 上海今时时乐开奖结果 广东11选5 新浪棋牌
内蒙古快3预测一定牛 北京赛车女郎视频 宁夏体彩十一选五开奖 山东快乐扑克3开奖直播 彩票开奖信息
藏宝阁两肖两码中特 白小姐高手论坛 新疆25选7开奖 河南快赢481开奖视 湖北30选5中几个号有奖
吉林11选5技巧 pk10技巧12358定位技巧 北京pk10锁定前5码技巧 天津十一选五 河南快三走势图一定牛