浅谈在director中运用组概念

在director的开发中,我们经常会遇到这样的情况,电影需要在程序运行的任何时刻弹出各种面板,工具条,对话框等.这个时候我们通常有两种方法解决:
第一:使用miaw的方式,这是很多人常用的方式,而且现在mx20004改善了miaw的控制,应该是很好的一种解决方案.只是低版本的director窗口之间通讯不是很方便,这种方式不是本文讨论的范畴.这里就省略不说了.
第二:直接在通道中摆放,需要显示时打开精灵通道的显示即sprite(psprNum).visible=1,关闭时将精灵通道的显示属性设置为0(sprite(psprNum).visible=0).这种方式比较容易理解,不用打开新的窗口,通讯也比较方便.
但是由于在director中只有一个时间轴,所以有时候就是是一个简单的"确认面板",都需要要3,4个精灵来实现,这样就涉及到多个了精灵通道,比如说:"确认面板"的底板放在100通道,"确认"按钮在101通道,"取消"按钮在102通道.这样打开确认面板时,需要将100,101,102的visible设置为true,关闭"确认面板"时,需要将100,101,102的visible设置为false,这样如果需要控制显示和关闭的精灵太多,程序控制起来就不是很方便.而且如果这样的面板太多的话,甚至程序中还有其他的比如下拉条菜单这样占用用很多通道的组件存在的时候.整个控制就可能比较混乱,而且如果程序设计不好的话,甚至改动精灵的通道号都需要改写程序,非常的麻烦.
再来谈谈"组概念"在director中的应用.
在我的例子中,有四种水果,每种水平都有不同的数量了,它们在精灵通道中也是随便摆放的,我需要控制它们的显示与隐藏.
在电影开始的时候,建立一个全局的列表MovieGroupList
global MovieGroupList
on preparemovie
_movie.clearglobals()
MovieGroupList=[:]
end
在每个自己需要控制的精灵上添加行为setSpr

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值