好了
const fill_rect = hmUI.createWidget(hmUI.widget.FILL_RECT, { x: 0, y: 0, w: 192 * 4, //768 h: 490, radius: 20, color: 0x5BA33D }) let canmove=true fill_rect.addEventListener(hmUI.event.CLICK_DOWN, (info) => { if(canmove){UI_move_for_easeInOutQuart(oTo, { x: info.x, y: info.y }) canmove=false } }) let oToxy = { x: 70, y: 150 } let oTo = hmUI.createWidget(hmUI.widget.TEXT, { x: oToxy.x, y: oToxy.y, w: 70, h: 25, color: "0x000000", text_size: 20, text_style: hmUI.text_style.WRAP, text: "史莱姆" }); function easeInOutQuad(t, b, c, d) { t /= d/2; if (t < 1) return c/2*t*t + b; t--; return -c/2 * (t*(t-2) - 1) + b; } //easeInOutQuad(count, wansixy.y, moveend, 20)//0.1*20=2秒 /* t是當前時間 b是起始值 c是值的變化 d是持續時間 */ function UI_move_for_easeInOutQuart(UI, xy) { let wansixy = { x: oToxy.x, y: oToxy.y } let count=0 let moveendy = xy.y-wansixy.y let moveendx = xy.x-wansixy.x let timers = timer.createTimer(15, 10, (function(e) { count++; UI.setProperty(hmUI.prop.MORE, { x: (oToxy.x=easeInOutQuad(count, wansixy.x, moveendx, 20)), y: (oToxy.y=easeInOutQuad(count, wansixy.y, moveendy, 20)), }) if (count>=20) { canmove=true timer.stopTimer(timers) } })) }
精選技術文章、免費程式設計資源、以及業界重要新聞!
好了