初学AS3的几点技巧汇总

所属分类: 媒体动画 / Flash教程 阅读数: 396
收藏 0 赞 0 分享
1.null和undefined的差別在於
null是指沒有值
undefined是宣告未完全、沒有宣告這個屬性或沒有指定資料型態(未賦予值沒做過資料轉型也算)
null==undefined但null!==undefined
所以我們常常要檢查外部變數有沒有被賦予值要用
if(外部變數==null){
外部變數沒有被賦予值
}
2.把變數宣告在所有程式(FUNCTION)的最上面
3.執行container.addChild(ball_A);時,若container已存在ball_A這個物件,在執行1次的功能在於,PLAYER會把原有的ball_A刪掉,再重新加入ball_A,所以ball_A顯示的順序就會變成在最上面,若你要指定顯示順序就用container.addChildAt(ball_A, 1);這個指令(0-N),0為最底層N為目前最上面ㄧ層
4.自動管理顯示順序
trace(container.getChildAt(0).name); // ball_A
trace(container.getChildAt(1).name); // ball_C
trace(container.getChildAt(2).name); // ball_B
container.removeChild(ball_C);
trace(container.getChildAt(0).name); // ball_A
trace(container.getChildAt(1).name); // ball_B
5.delete 才會完整的把物件殺掉removeChild只是移除顯示清單而已,ㄧ個物件只能對應一個container
6.其他好用的函式
contains(): Determines whether a display object is a child of a DisplayObjectContainer.
getChildByName(): Retrieves a display object by name.
getChildIndex(): Returns the index position of a display object.
setChildIndex(): Changes the position of a child display object.
swapChildren(): Swaps the front-to-back order of two display objects.
swapChildrenAt(): Swaps the front-to-back order of two display objects, specified by their index values.
7.取代AS 2.0 用[]動態命名的方法
import flash.display.Sprite;
var container1:Sprite = new Sprite();
container1.name="allen";
container1.x=20;
var container2:Sprite = new Sprite();
container2.addChild(container1);
addChild(container2);
trace(container2.getChildByName("allen").x);
沒錯就是這一行container1.name="allen";直接指定name
更多精彩内容其他人还在看

彻底消灭Flash动画中的乱码

  鉴于很多人用 System.useCodepage = true 这个属于下策的方法来解决乱码,而且还不知道为什么,所以打算让不知道的朋友了解如何彻底消灭乱码。 关于编码的基础知识: 每个国家/区域都规定了计算机信息交换用的字符编码集,比如美国的扩展ASCII码,中国
收藏 0 赞 0 分享

Flash游戏开发教程:第三节

请先阅读上一篇Flash教程:Flash游戏开发教程:第二节。 在具体讲解CLASS构造前,想花点篇幅帮小鸟们理解下CLASS是什么东东。 还是来举个例子,有一个机械战士的MC,这个MC里有机械战士完整的构造,手脚、身体、武器…… 但这个机械战
收藏 0 赞 0 分享

mc深度的排序值设置方法

mc电影符号设置深度值的方法 在程序的过程,我们会常换多个mc深度,让它叠在上边。flash给我提供只有:两个mc深度的互换,却没有设置深度值的方法. 本人设计了一个方法,就是可以设置mc深度的排序值。不过前提就是这些mc已级把深度排序好,放在一个数组里。这个没有什
收藏 0 赞 0 分享

Flash as简单制作鼠标跟随文字动画

[效果]: [步骤]: 1、拉一动态文本,实例名为_txt;转为影片剪辑,实例名为_mc。 2、在帧上写如下代码:
收藏 0 赞 0 分享

Flash游戏开发教程:第二节

请先阅读上一篇Flash教程:Flash游戏开发教程:第一节。 我们讨论下AS的问题。 先不急于动手打代码,我们先要想好这代码怎么个写法,怎么个安排。 好,现在小鸟们排好队,一个个来回答,你准备怎么写: 10个小菜鸟9个会回答:我X你的傻X~!还能怎么写?F9按了开始写啊&
收藏 0 赞 0 分享

Flash Actionscript 优化指南

第一章 AS3的一些优化计算方法 用乘法来代替除法(当除数可转化为有限数的时候)。比如var n:Number = value * 0.5;要比var n:Number = value / 2;快。但差别并不是很大。只有在需要大量计算情况下,比如3D引擎中差别才比较明
收藏 0 赞 0 分享

Flash游戏开发教程:第八节

请先阅读:Flash游戏开发教程:第七节 范例接宝游戏中得分显示类和时间控制类的CLASS讲解 事实上这两部分比较简单 所以并在一起讲解了 讲解前先点开FLA文件,把这两个MC看看,对MC构造了解了,才能写CLASS嘛~ 看下得分显示类的代码: class
收藏 0 赞 0 分享

ActionScript的API文档生成工具ASDoc

运用ASDoc工具 原文地址: http://livedocs.adobe.com/flex/3/html/asdoc_9.html 译者注: ASDoc是adobe官方提供的ActionScript的API文档生成工具,现在已经集成在FlexBuilder3中 打开ASD
收藏 0 赞 0 分享

新手来看:Flahs as入门教程

这里我只简单的介绍一下AS的基本常识。 首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。 1、帧: 写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。常见的例子有在影片结尾的帧写上 stop() 等。操作方法就是点选
收藏 0 赞 0 分享

关于Flash层的深度处理问题

制作一套课件时,研究了一下关于层的深度处理问题,现做一下总结!所谓深度,不难理解,就是谁在上谁在下的问题,从而实现遮与被遮!(我的理解 ) 1、获得某对象所在的深度 MovieClip.getDepth 2、获得某个深度处的实例对象 MovieClip.getIns
收藏 0 赞 0 分享
查看更多