CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

Lingo使用Q&A

Posted on 2011-11-08 13:39  mumuliang  阅读(388)  评论(0编辑  收藏  举报

为什么按钮不响应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的。