這篇文章主要介紹了基於canvas的骨骼動畫的範例程式碼的相關資料,內容挺不錯的,現在分享給大家,也給大家做個參考。
最近學習到了一種關於canvas的骨骼動畫,聽這個名字就知道他和canvas之前的動畫不同,不知道你有沒有興趣了解一下呢?
關於骨骼動畫最初是無意間在騰訊團隊上看到的,但是由於他官網的教程是在是少之又少,也就僅有一個小demo供參考,官方下載的案例也很奇怪的運行不出來,可能是我的操作不對,但是沒關係,就透過這個小demo了解一下這個很高大上的骨骼東動畫吧,我也是剛接觸,了解的也不是很全面,還請見諒
在開始之前,先來了解一下AlloyStick
官方介紹說AlloyStick 是採用HTML5技術開發的骨骼動畫引擎,可以用於HTML5動畫開發、HTML5遊戲開發;AlloyStick 主要由骨骼動畫引擎和骨骼動畫編輯器兩部分組成,骨骼動畫編輯器提供強大的骨骼動畫編輯功能,透過設定動畫關鍵幀,依靠強大的自動補間和骨骼關係,就可以製作出逼真、生動的Canvas骨骼動畫,可以暢快的運行在PC、手機、平板等裝置裡。嗯,說的很輕鬆又很有吸引力
所謂的骨骼動畫從字面意思來說就是透過骨骼去繪製的動畫,那麼這裡的骨骼是長什麼樣子呢?
沒錯,就是長這樣的,也算是符合預想的吧,畢竟人家有和很強大的自動補間功能,可以聯想一下每一部分都用很光滑的方式連結起來,有點像PS的羽化吧
既然是很強大的一個功能,肯定有人家自己獨特的優勢
// 第一步 还是要先搭建canvas <canvas id="canvas" width="800px" height="600px">抱歉,你的浏览器不支持canvas,建议你使用Chrome浏览器</canvas>
#
// 第二步 以图片形式或者js方式引入蒙皮资源 <img src="img/texture.png" id="xiaoxiaoImg" style="display:none;">
// 第三步 引入alloysk.js和resource.js // 第四步 准备工作 var canvas = document.getElementById('canvas') var textureImg = document.getElementById('xiaoxiaoImg') var scene = new alloyge.Scene(canvas.getContext('2d')) var player = new alloysk.Armature('xiaoxiao',textureImg) // 第五步 制作动画 // 动作快慢 参数:动作状态,速度,初始速度,是否一直执行,这里还可以设置其他动作,比如翻滚 roll // 更新了几个动作状态:run 奔跑 roll 翻滚 simpleHit 右手扔东西 secondHit 右手打拳 // jump_kick 侧踢 comeon 挑衅 relax 放松 soap 捡肥皂 player.playTo('run',50,15,true); // 动画位置 player.setPos(300,300); player.setEaseType(true); scene.addObj(player); // 启动FPS监听器 (辅助功能 非必须) alloyge.monitorFPS(scene); // 开始场景里的动画,并且可以传入callback循环调用 // 最后一步 执行动画 scene.start(); // 效果就是下面这样奔跑的少年啦,原谅我还没开通做gif动画的大门……
#以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:#########使用html5 canvas封裝一個echarts實作不了的餅圖###############如何利用canvas實作按住滑鼠移動繪製出軌跡############### ######以上是canvas實現的骨骼動畫的詳細內容。更多資訊請關注PHP中文網其他相關文章!