主题:  flash的AS??

专业设计

职务:普通成员
等级:2
金币:2.0
发贴:657
#12002/1/28 12:36:04
onClipEvent (mouseMove) {
if (_root.bb.hitTest(_root.aa)) {
if (dd<>1) {
_root.cc += 10;
}
dd = 1;
} else {
dd = 0;
}
}
这里的下面几句话我看不懂(对与你当然简单,但我是菜鸟么)
dd为什么要不等于1
还有dd为什么等于1

还有我刚刚开始学么,如何学习flash的AS??
1.我接触到AS后就感到他的命令好多,
2.还有有好多的注意点,
3.还有AS加的地方我也常常搞不清,到底是时间针上、mc上、按件上。

不知道大家是如何学习的啊



金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
#22002/1/28 13:44:30
其实很简单的
至于为什么那要看你的程序要做什么了
还有学习action要循序渐进才行


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER

5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#32002/1/28 21:53:16
ramon在上个帖子中说
引用:
onClipEvent (mouseMove) {
if (_root.bb.hitTest(_root.aa)) {
if (dd<>1) {
_root.cc += 10;
}
dd = 1;
} else {
dd = 0;
}
}
这里的下面几句话我看不懂(对与你当然简单,但我是菜鸟么)
dd为什么要不等于1
还有dd为什么等于1

还有我刚刚开始学么,如何学习flash的AS??
1.我接触到AS后就感到他的命令好多,
2.还有有好多的注意点,
3.还有AS加的地方我也常常搞不清,到底是时间针上、mc上、按件上。

不知道大家是如何学习的啊



if (dd<>1) {
_root.cc += 10;
}
dd = 1;
} else {
dd = 0;
}
这句话好像是错误的!你没发现么?
可能应该这么写:
if (dd<>1) {
_root.cc += 10;
dd = 1;
} else {
dd = 0;
}
这句话的作用应该是只要mouseMove了,则_root.cc不断的累加。
as该放的的位置,建议你还是先了解场景上的帧,mc以及按钮上的帧和本身的所具有的各种触发事件的各种机理,顺序和触发条件。这需要一个过程!不可能一下子什么都明白了。



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#42002/1/28 23:03:32
先仔细地读一下程序

从语法上来说,这段代码没有任何问题。else和第一个if语句相关,而不和它上面的一个if语句相关。

从逻辑上来分析,它的功能是在_root.bb和_root.aa在第一次发生碰撞时使_root.cc自加10。由于这段代码绑定在mousemove事件中,所以,我估计是用来测试在拖动一对象(bb or aa)时是否与另一个发生碰撞。当第一次发生时,导致cc+=10,接着,在继续拖动过程中可能还会连续发生碰撞(自第一次后没有离开),这种碰撞将不再作为计数依据——除非它们离开后再次碰撞。当时没有碰撞时,赋给dd一个非1的值,以使dd<>1这上表达式为真值,从而实现计数。只要发生一次碰撞,即以dd=1来指示自分开后发生第一次,以此来阻止在连续碰撞时再次计数。



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#52002/1/29 11:58:04
实在抱歉!太匆忙,看错了,上面的if没看到,janlay兄说得没错!



椰兔

职务:普通成员
等级:1
金币:0.0
发贴:127
#62002/1/29 21:58:51
hitTest 是什么东西?
时判断两物体碰撞的函数吗?我怎么没有见过,是自己写的?给我发一个好吗?



金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
#72002/1/29 22:10:33
是flash的内部函数,速度非常快,
如果是有规则物体,可以自己定义,但是效率绝对不如hittest快
不规则物体就更不用说了


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER