|
主题: 菜菜代码问题请教
|
 数码天空
职务:普通成员
等级:2
金币:1.0
发贴:409
|
#12003/6/18 10:30:33
on (release) { u = !u; if (u == true) { tellTarget("shuoming") { gotoAndStop(2); } // end of tellTarget } else { tellTarget("shuoming") { gotoAndStop(1); } // end of tellTarget } // end if } 在这段代码中u = !u; 起什么作用,为什么换成u==u; 就不行了
个人网站www.cscxy.com
|
 一叶飞烟
职务:普通成员
等级:1
金币:0.0
发贴:46
|
#22003/6/18 11:04:44
当然不能换。==是相同的意思,!是逻辑非,也就是“不是”的意思。比如:!happy就是“不happy”的意思。 ok,祝你好运!
|
 数码天空
职务:普通成员
等级:2
金币:1.0
发贴:409
|
#32003/6/18 15:58:57
我是想知道为什么点一下能响应下面的命令,返回一个真值,再点一下却返回一个假值。
个人网站www.cscxy.com
|
 一叶飞烟
职务:普通成员
等级:1
金币:0.0
发贴:46
|
#42003/6/18 17:55:37
我看因为u=!u的作用就是用来判断你上次操作的布尔值。就好象我们使用指令来判断是否拾取一个mc,如果当前是拾取的状态,我们再点按钮就放下,如果是放下的状态,我们再点按钮就拾取。那么如何记录你是在拾取还是放下的状态呢,脚本使用判断u=!u的方式。所以这是一个不错的用法。以前我都是用两个判断来记录,你的例子也给了我不小的启发。
|
 数码天空
职务:普通成员
等级:2
金币:1.0
发贴:409
|
#52003/6/18 21:26:16
说得好象有点道理,但每次运行这句语句时,u都会重新附值一次,为非u状态,按道理跳不到else这一步,还是不太明白?
个人网站www.cscxy.com
|
 一叶飞烟
职务:普通成员
等级:1
金币:0.0
发贴:46
|
#62003/6/19 13:35:22
当然会跳到else了,因为!u本身也是变量啊,当!u这次记录为true时,指令跳转并停止到shuoming的第二帧,这时!u的true值也传递给了u,再次赋值时,!u岂不就是非“true”了吗,非“true”不就是“false”吗?“false”岂不就符合else的逻辑分支了!就会执行else的分支语句。 别忘了,赋值语句赋的传递值,不是每次初始化都是原始值,只有象u=2这样的赋值语句才会每次初始化为2,记住,!u也是变量啊。 另外,“telltarget”是过时的命令了,建议使用with。
|
 刀剑笑
职务:普通成员
等级:1
金币:1.0
发贴:141
|
#72003/6/19 13:44:24
哇。。。
偶看晕了!
真复杂啊!
没有简单点的代码教程!
|
 数码天空
职务:普通成员
等级:2
金币:1.0
发贴:409
|
#82003/6/19 15:21:45
利害,讲得比较透,你的语法掌握得比我好,看样子我要更加努力了。
个人网站www.cscxy.com
|
 一叶飞烟
职务:普通成员
等级:1
金币:0.0
发贴:46
|
#92003/6/19 15:29:01
客气了,大家共同学习,共同提高!!
|