学海沉舟 · [技术]
2006-07-27 21:22
flash
AS2的 Key.isDown() 在AS3里已经 Removed 了,想要监听键盘事件只能 addEventListener。本来想用一个 Sprite 监听:
public class Test extends Sprite{
public function Test(){
addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
}
private function onKeyDown(event:KeyboardEvent):void{
trace(event.keyCode);
}
}
这样需要保证始终聚焦这个 Sprite : 阅读全文 »
AS3支持 label 了,跳出多层循环可以这样写:
outerLoop: for (var i:int = 0; i < 10; i++) {
for (var j:int = 0; j < 10; j++) {
if ( (i == 8) && (j == 0)) break outerLoop;
trace(10 * i + j);
}
}
AS2 的时候只能多加个变量判断:
阅读全文 »
AS3有了按钮类:SimpleButton ,可以为四种状态分别指定不同的 DisplayObject 。但是 SimpleButton 没有继承 DisplayObjectContainer 类,也就是不能给它添加其他的 child 。如果要创建一个带文字的 Button 怎么办?两种方案:
- 方案一:把文字加到每种 state 里。因为 Shape 也没有继承 DisplayObjectContainer 类,要添加文字 state 就要用 Sprite 。优点是每种状态可以有不同的文字颜色、大小、位置等。缺点是不方便改文字内容。
- 方案二:把 SimpleButton 和 TextField 一起放到一个 Sprite 里。这样 SimpleButton 的 state 可以用 Shape 以节省内存空间。优缺点和方案一相反。[feel_good]
看看 代码 和演示:
阅读全文 »
首先,AS3里function的参数可以有默认值了。
public function TestFunc(){
myFunc();
}
private function myFunc(para1:int=10,para2:String="str"):void{
trace(para1 + " , " + para2); //10 , str
}
AS3里不能给出多余的参数(少了也不行,所有没有默认值的参数都必须给值),
阅读全文 »
做东西的时候发现AS3的EventDispatcher类好像不能传参数。请教 bogey ,答曰,写一个类继承 Event ,把参数放在构造里。试了一下,果然好用。有个牛×同事就是好
做个演示:(查看类代码)
页面生成部分就不介绍了,唯一值得注意的是 TextField 类增加了一个 appendText 方法。以前的
阅读全文 »
Pages:
Prev
1
2
3
4
5
6
Next