开发学院图形图像Flash AS3.0中的显示编程(二)-- DisplayObject类 阅读

AS3.0中的显示编程(二)-- DisplayObject类

 2010-10-10 07:24:20 来源:WEB开发网   
核心提示: 运行下,看看效果吧,AS3.0中的显示编程(二)-- DisplayObject类(3),呵呵,(4) root、stage、thisAS3.0里的root变化还是非常大的,那就需要用到上面的两个方法,前者是判断两个物体之间是否有相交,大到什么程度呢,呃

运行下,看看效果吧,呵呵。

(4) root、stage、this

AS3.0里的root变化还是非常大的,大到什么程度呢,呃,我用例子来说明吧。

AS3.0里,创建一个文档后,首先就存在一个基础显示容器stage,然后在stage下有了第一个显示对象,就是root,我们可以用下面代码验证:

   trace(stage.numChildren);         //返回:1 
   trace(stage.getChildAt(0) == root);  //返回:true 
   trace(root.parent == stage);       //返回:true

此时的root,和this是等值的,我们可以用下面代码验证:

   trace(root == this);             //返回:true

然后我们在舞台上手动绘制3个MC,分别实例名为t1、t2、t3,然后用以下几种方式访问:

   trace(root.numChildren);         //出错 
   trace(root.t1);                //出错 
   trace(this.numChildren);         //正确:返回3 
   trace(this.t1);                //正确 
   trace(this.getChildAt(0).name);   //正确:返回t1

所以这个也是我比较迷惑的一个地方,虽然root和this是等值的,但是并不能直接用root进行访问了。

最后,我们在试验下面几行代码:

   trace(t1.root == this);         //返回:true 
   trace(t1.parent == this);       //返回:true 
   trace(t1.root.numChildren);     //出错 
   trace(t1.parent.numChildren);   //正确,返回3

这几处地方为什么会报错,root和this在哪里存在不同,这个我暂时还没有弄明白,如果哪位朋友清楚,敬请指正。

(5) hitTestObject()、hitTestPoint()

我们做Flash游戏的时候,比如判断格斗动作,或者飞行射击等,经常需要判断两个物体之间是否有相交,那就需要用到上面的两个方法。

前者是判断两个物体之间是否有相交,后者是判断物体与某个坐标点是否有相交。

出处http://windtoto.blog.51cto.com/1986737/402126

上一页  1 2 3 

Tags:AS 显示 编程

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接