为什么按钮不响应mouseUp?
Tool面板有三种模式,classic/default/flash component。Director默认Default Mode。在这种模式下的按钮其实是flash component,同时Director又默认将flash component设置成了不响应Director事件。
2个解决办法,择其一:
1. tool面板设置成classic再往stage拖button;
2. 选中button,在property inspector(位于窗口右边)中找到flash component标签,将其eventPassMode(最后一项)默认的#passNever改成#passAlways。
为什么修改了sprite的member和memberNum属性,显示的还是原来的?
忘记updateStage.
如何为sprite动态添加behavior?
sprite(sprite_Num).scriptInstanceList.add(script("moveable").new())
无论是parent还是behavior, script对象都需要使用script(“scriptname”).new()的形式创建。
如果behavior没有实现new,director会有默认new。
为什么修改Field的编辑属性后仍然不可编辑?
sprite(x).member.editable =1
后添加
sprite(x).member.scrolltop=0
如何知道目前剧情是发生在哪个sprite上?
currentspritenum,the currentSpriteNum
如何获得stage窗口句柄?
window("stage")
me到底是谁?
Sprite Behavior中的me就是Sprite是这段behavior的instance。跟下面的child object是一个级别东西。只不过behavior可以附着在frame/sprite/cast member。
对Parent Script来说,me是它的Child Object。
为什么Movie中的mouseUp不响应?
Director向各类Handler发送Event Message的顺序是:sprite behavior --> cast member script --> frame behavior --> movie script。
在这四类Handler之前还有一个类似默认Handler的东东,形如on mouseUpScript,它和上边四类的Handler的有点不一样,它在执行完自己之后,会继续依次向后转发消息,当然也可以关闭,dontPassEvent。而上述4类的Event Handler,必须手动在最末添加pass()。譬如sprite 的on mouseUP最后如果不写上pass()语句,那么在处理结束之后,这个Event就算到底为止了。
因此,在各层级的Handler尤其是system event handler,尤其要确认到底要不要pass()。
为什么导入SketchUp 3D模型(.skp)总是失败?
导入对话框的Media没有设置成Link to External File。
为什么导入了skp模型啥也看不到?
Director11.5只支持到skp7的skp。
为什么影片不响应帧行为中的stepFrame处理程序?
因为stepFrame不是帧事件。-___-U
stepFrame是parent script的system event。写在frame behavior中的on stepFrame是没有用的。
如何判断变量是不是List?
listP(val),如果val是List就返回1,否则0。
类似的还有integerP(), floatP(), stringP(), objectP()。
如何判断List的类型?
ilk(obj).例如
Bids = [:]
put ilk( Bids )
-- #proplist
ilk(obj)不光可以判断list的类型,实际上它输出的就是obj的类型,包括integer,string,object,rect,point,color,date,symbol, void, picture, instance, member, xtra, script, castlib, sprite, instance, sound, window, media, timeout, image..
还有一种用法,ilk(obj, #type),返回的是obj是不是type的。