cityhonghu 发表于 2009-9-11 19:12:15

1。1秒之后,效果持续5秒。这样写对吗?write_short( 1<<12 )   
write_short( 5<<12 )2。括号里的后面数字一定要为12吗?
3。flags设置部分,若想要设置淡入并叠加效果,这样写对吗?
write_short( 04)

Rulzy 发表于 2009-9-11 20:22:31

4096代表1秒种,使用<<12 相当于乘以4096,但是运行效率会高很多,因为移位比乘法效率高得多。

Rulzy 发表于 2009-9-11 20:23:46

如果你想更快,可以直接写最后结果。如5秒钟,直接写20480。

cityhonghu 发表于 2009-9-11 20:42:31

本帖最后由 cityhonghu 于 2009-9-11 20:57 编辑

谢谢Rulzy。
就是说>>12相当于2的12次幂的意思吧?
前面的数字是不是不可以使用浮点数子?0.5秒 要这样?(1>>11)

前面jim_yang有讲到flags有四种:
0-淡入
1-淡出
2-不混合(新的与上一个不叠加效果)
4-持续

那么要实现1加4的效果,该如何写呢。能在举例讲解一下flags部分的设置吗?

L*Y*Y* 发表于 2009-9-11 22:12:06

又学到了不少!!!

Rulzy 发表于 2009-9-11 22:35:14

注意,是<<12,而不是>>12。<<表示左移,>>表示右移。

Rulzy 发表于 2009-9-11 22:36:03

0.5秒用1<<11。

jim_yang 发表于 2009-9-12 10:53:19

常量计算是在编译期完成的,不影响运行时效率
write_short((1+4)<<(4+8))结果和write_short(20480)一样
这个算式最后会被编译器编译为一个立即数

cityhonghu 发表于 2009-9-13 01:35:24

谢谢Rulzy版大,jim_yang。
页: 1 [2]
查看完整版本: 求助,write_short函数使用方法(已解决)