Construct2 的Edittime要点

从construct2插件的目录里可以看到每一个插件都包含一个runtime.js和一个edittime.js;runtime.js负责插件在运行时的表现形式和各种操作;edittime.js负责插件在编辑时的表现形式和各种操作。他们虽然都是一个javascript文件,但是有很大的区别:

runtime.js是由真正的浏览器所带的javascript引擎所解释;而edittime.js则是由Google的V8 javascript引擎来解释,而不是真正的浏览器引擎来解释。


所以Edittime不能使用普通的浏览器特性!


下面是Edittime的一些基本要点和函数:



Edittime全局函数
1. alert(msg): 信息对话框
2. assert2(cnd,msg): 断言cnd为真,否则引发一个错误信息msg。通常用于测试调试。


Edittime回调函数
1. CreateIDEObjectType():创建对象类型时的回调函数.


2. IDEObjectType(): 对象类


3. IDEObjectType.CreateInstance():创建一个实例时被调用。


4. IDEInstance():实例类


5. IDEInstance.OnInserted():插入一个实例到工程时调用


6. IDEInstance.OnDoubleClicked():layout上的一个实例被双击时调用,通常是调用文本编辑或是打开动画编辑器。


7. IDEInstance.OnPropertyChanged(name):一个实例的属性发生改变时调用。


8. IDEInstance.OnRendererInit(renderer):包含该插件实例的layout被打开时被调用。


9. IDEInstance.OnRendererReleased(renderer):包含该插件实例的layout被关闭时被调用。


10. IDEInstance.Draw(renderer):如果是"world"类型插件,则在编辑器中绘出,否则不会被调用.


Edittime实例函数


1. instance.SetSize(size):设置对象的宽度和高度。


2. instance.GetSize():返回对象的宽度和高度。


3. instance.SetHotspot(p):p为cr.vector2数据类型。设置热点。


4. instance.GetBoundingRect():返回一个cr.rect对象的边框矩形。


5. instance.GetBoundingQuad():返回一个cr.quad对象的边框。


6. instance.EditTexture():调用图像编辑器或动画编辑器。


7. instance.GetTexture():返回当前对象的材质。如果pf_animations被定义,则返回第一个动画的第一帧。


8. instance.GetOpacity():返回对象的透明度。




Edittie渲染(rendering)


OnRendererInit, Draw, OnRendererReleased三个函数以一个renderer对象为一个参数,它支持下列方法:
1. renderer.Quad(q[,opacity,uv]):使用当前的材质渲染四边形q(即cr.quad),opacity透明度是选项,uv是一个rect定义的材质。


2. renderer.Line(a,b,color):a和b是cr.vector2类型,color是cr.RGB类型;渲染一根从a到b的color颜色的线。


3. renderer.Fill(q,color):q是cr.quad类型,color是cr.RGB类型;填充一个四边形,颜色为color。


4. renderer.Outline(q,color):q是cr.quad类型,color是cr.RGB类型;用四根颜色为color线来勾出一个四边形的轮廓。


5. renderer.CreateFont(face_name,face_size, bold,italic):创建一个字体对象Font。字体对象Font支持方法
       font.DrawText(text,rc,color,halign):text是要绘制的文本;rc是cr.rect对象;color是文本颜色;halign有三种选择(ha_left,ha_center,ha_right)。


6. renderer.ReleaseFont(font):释放创建的字体对象。


7. renderer.LoadTexture(texture):加载对象的材质。通常在OnRendererInit()中使用这个函数。


8. renderer.SetTexture(textture):设置当前绘画用的材质。


9. renderer.ReleaseTexture(textture):释放加载的材质。通常在OnRendererReleased()中使用这个函数。


10. renderer.EnableTiling(enable):是否使用tiling材质。




材质对象Texture支持一下方法:


1. texture.GetImageSize():返回材质像素单位的高度和宽度。返回值是cr.vector2类型。


2. texture.GetFilename():返回当前使用的材质的文件名。


3. texture.GetID:返回材质的Id字符串.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值