作者dryman (dryman)
看板MacDev
标题Re: [问题] NSView制作动画
时间Sun Feb 22 14:55:43 2009
我试了几个程式码:
发现它的确不会重新init,但是不知道为什麽经过IBAction设过的bool
会重新变成0
我在IBAction的最尾巴这样写:
printf("\n%d",startOrNot);
startOrNot=YES;
printf("%d",startOrNot);
然後在drawRect里这样写:
printf("%d",startOrNot);
if(startOrNot){
...画该画的东西
}
猜猜看会有什麽结果?
0000000000000000000*n <-这是跑drawRect的,目前为止正常
按下IBAction的按钮後
0100000000000000000000000 第一次按
000000000000000000...
1100000000 第二次
1100000000000000000... 第三次
每次再按按钮时它显示startOrNot已经是YES了
但drawRect还是读到0
真的很诡异= =|||
我也有把printf("%d",startOrNot);放入init里看看会怎样
出来的结果很有趣:它会印两次(都是0)
但之後就不会印了
所以至少它应该是没有再次init才对
至於NSAnimation
http://mattgemmell.com/2006/11/08/nsviewanimation-wtf
这人写了一个测试的程式
NSAnimation的确是比NSViewAnimation这个package快
至於和NSView + NSTimer的动画比起来我就不知道了...
NSAnimation里面有内建的timer和让动画平滑化的设计
不过这些我都还不知道该怎麽用
因为NSAnimation的程式码比NSView的复杂好多...
要花些时间消化
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.55.115
1F:→ dryman:Anyway, 还是谢谢yllan大的教学,原本它根本动不了 02/22 14:56
2F:→ dryman:现在虽然没办法按按钮後动,至少会动... 02/22 14:56
3F:→ dryman:初始的时候让它动可以一直动 02/22 14:57