最近有用在做snapchat lens,这里记录一下常用的代码片段
倒计时
var delayedEvent =script.createEvent("DelayedCallbackEvent");
delayedEvent.bind(function(){
// 这里写逻辑、、、
if (end) {
// 如想要结束、、、
} else {
count--;
delayedEvent.reset(1);
}
});
delayedEvent.reset(1);
Tween动画使用
// 启动动画
global.tweenManager.startTween(SceneObject sceneObject, string, tweenName [, function onComplete, function onStart, function onStop])
// 暂停动画
global.tweenManager.stopTween(SceneObject sceneObject, string tweenName)
// 重置动画
global.tweenManager.resetObject(SceneObject sceneObject, string tweenName)
动态替换材质
script.obj.getComponent("Component.RenderMeshVisual").getMaterial(0).mainPass.baseTex = ‘texture’
设置材质球属性emissiveIntensity
script.tieMaterial.mainPass.emissiveIntensity = ‘float ’
播放2d动画帧
script.huohua.getComponent("Component.Image").getMaterial(0).getPass(0).baseTex.control.play(1, 0.0);
3d模型附加到摄像机
// -----JS CODE-----
//@input Component.Camera cam
// 模型的x轴y轴偏移
//@input vec2 screenPoint
// 模型距离摄像机距离
//@input float distFromNear = 40.0
script.createEvent("LateUpdateEvent").bind(function(){
var pos = script.cam.screenSpaceToWorldSpace(script.screenPoint,
script.distFromNear );
script.getTransform().setWorldPosition(pos);
});