Crank学习

  1. 1、基本概念
  2. 2、事件绑定(event)
  3. 3、 响应(action)
  4. 4、动画(anim)
  5. 5、lua常用callback(可以使用F1查看help说明)
  6. 6、crank 问题汇总

1、基本概念

  • 画面层级
                  stoaryboard appliction
                           screen
          layer、table(actions、Variables)
              control(actions、Variables)
         image、text、3DModel...(actions)
  • animation
    可以对所有Variables(变量)进行编辑

2、事件绑定(event)

  • Press(gre.press)
  • gre.screenshow.post

3、 响应(action)

  • Data Change(gra.datachange)(触发文字、图片等变更)
  • Screen Transition:3D Cube(gra.screen.glcube),进行screen三维立体切换
  • gre.lua (调用lua函数)

4、动画(anim)

  • Iterations:2 (迭代,指动画运行次数)

5、lua常用callback(可以使用F1查看help说明)

gre.animation_trigger("left_dial_rotation")  --> 触发(动画)

gre.animation_destroy(progress) –> 触发(动画)
progress = gre.animation_create(60,1) –> 创建动画(帧率,迭代次数)

data[“rate”] = “linear” –> 添加动画参数 动画线型Ease In(缓进快出)、bounce(波动进行)、Ease Out(快进缓出)、Linear(线性)、窗口设定可自定义
data[“duration”] = 5000 –> 持续时间ms
data[“from”] = 0
data[“to”] = 360
data[“key”] = “LuaAnimation_layer.circleEndAngle” –> Variables(变量)
gre.animation_add_step(progress, data) –> 配置动画(id,table)
gre.timer_set_timeout(func,4000) –> 4000ms后触发函数

–> 设置control对象(”layer.control.renderExtensions(渲染对象)“,”图片路径”)
gre.set_value(“LuaAnimation_layer.Pause.image”, “images/pause.png” )
– 如何设置text?
–> 获取variables值
gre.get_value(“LuaAnimation_layer.percentage”) ~= “100%”

data[“LuaAnimation_layer.CircleProgress_Group.grd_x”] = 240
data[“LuaAnimation_layer.BarProgress_Group.grd_x”] = 240
gre.set_data(data) –> 设定渲染对象参数

gre.animation_pause(progress) –> 停止动画
gre.animation_resume(progress) –> 继续动画

data[“x”] = 520 –> 克隆control,需要先设置克隆后对象的坐标
gre.clone_control(“LuaAnimation_layer.CircleProgress_Group”, “CircleProgress_2_Group”, “LuaAnimation_layer”, data) –> 克隆对象id、克隆后id、所属layer、克隆后的属性
gre.delete_control(“LuaAnimation_layer.CircleProgress_2_Group”) –> 删除control

:hexoPostRenderEscape–>

6、crank 问题汇总

  • 使用action,事件映射不成功
    • 需要在控件的renderExtensions绑定创建的事件
  • 使用action,事件screen:3D Cube没有效果
    • 使用错误,应该由当前screen创建action,然后指定到其他的screen上
  • 表盘指针旋转动画异常
    • 需要设置Control显示区域,指定旋转中心为相对显示区域的局部坐标,即旋转中心为旋转中心的绝对坐标减去显示区域起始坐标
  • 控件不能同时映射press和release
    • 使用错误,press、release的actions应该对控件的同一个Variables进行
  • lua脚本未运行起来
    • 动画名称未匹配上
  • obj模型加载不了
    • 直接放置ssg文件到文件目录可调用,但无法关联部分贴图

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2291184112@qq.com

×

喜欢就点赞,疼爱就打赏