婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 基于canvas的骨骼動(dòng)畫的示例代碼

基于canvas的骨骼動(dòng)畫的示例代碼

熱門標(biāo)簽:江蘇智能電銷機(jī)器人哪家好 電銷機(jī)器人電話用什么卡 成都智能外呼系統(tǒng)平臺(tái) 南寧點(diǎn)撥外呼系統(tǒng)哪家公司做的好 黃島區(qū)地圖標(biāo)注 四川點(diǎn)撥外呼系統(tǒng) 鎮(zhèn)江智能外呼系統(tǒng)有效果嗎 云南大理400電話申請(qǐng)官方 當(dāng)涂高德地圖標(biāo)注

最近學(xué)習(xí)到了一種關(guān)于canvas的骨骼動(dòng)畫,聽這個(gè)名字就知道他和canvas之前的動(dòng)畫不同,不知道你有沒有興趣了解一下呢?

關(guān)于骨骼動(dòng)畫最初是無意間在騰訊團(tuán)隊(duì)上看到的,但是由于他官網(wǎng)的教程是在是少之又少,也就僅有一個(gè)小demo供參考,官方下載的案例也很奇怪的運(yùn)行不出來,可能是我的操作不對(duì),但是沒關(guān)系,就通過這個(gè)小demo了解一下這個(gè)很高大上的骨骼東動(dòng)畫吧,我也是剛接觸,了解的也不是很全面,還請(qǐng)見諒

在開始之前,先來了解一下AlloyStick

官方介紹說AlloyStick 是采用HTML5技術(shù)開發(fā)的一個(gè)骨骼動(dòng)畫引擎,可以用于HTML5動(dòng)畫開發(fā)、HTML5游戲開發(fā);AlloyStick 主要由骨骼動(dòng)畫引擎和骨骼動(dòng)畫編輯器兩部分組成,骨骼動(dòng)畫編輯器提供強(qiáng)大的骨骼動(dòng)畫編輯功能,通過設(shè)置動(dòng)畫關(guān)鍵幀,依靠強(qiáng)大的自動(dòng)補(bǔ)間和骨骼關(guān)系,就可以制作出逼真、生動(dòng)的Canvas骨骼動(dòng)畫,可以暢快的運(yùn)行在PC、手機(jī)、平板等設(shè)備里。嗯,說的很輕松又很有吸引力

所謂的骨骼動(dòng)畫從字面意思來說就是通過骨骼去繪制的動(dòng)畫,那么這里的骨骼是長什么樣呢?

沒錯(cuò),就是長這樣的,也算是符合預(yù)想的吧,畢竟人家有和很強(qiáng)大的自動(dòng)補(bǔ)間功能,可以聯(lián)想一下每一部分都用很光滑的方式連接起來,有點(diǎn)像PS的羽化吧

既然是很強(qiáng)大的一個(gè)功能,肯定有人家自己獨(dú)特的優(yōu)勢(shì)

  1. 動(dòng)畫更加的逼真,這是肯定的啊
  2. 圖片占用的空間很小,這也能看出來,這個(gè)人只有頭,手和腿三部分組成
  3. 過渡動(dòng)畫自動(dòng)補(bǔ)間,讓動(dòng)作更加靈活
  4. 骨骼可控
  5. 骨骼事件幀,動(dòng)畫直行待某個(gè)動(dòng)作或某個(gè)幀,觸發(fā)自定義事件行為
  6. 動(dòng)作數(shù)據(jù)繼承,多角色可用一套動(dòng)畫數(shù)據(jù)
  7. 可結(jié)合屋里引擎
  8. 結(jié)合精靈圖動(dòng)畫制作混合動(dòng)畫

下面來開始小demo

一個(gè)骨骼動(dòng)畫主要由3部分組成:骨骼數(shù)據(jù)、蒙皮數(shù)據(jù)、動(dòng)畫數(shù)據(jù),有了這三部分?jǐn)?shù)據(jù),就可以由AlloyStick渲染出生動(dòng)的骨骼動(dòng)畫了。這三部分?jǐn)?shù)據(jù)當(dāng)然不需要手動(dòng)生成,只需要在編輯器中操作,即可自動(dòng)生成。生成數(shù)據(jù)后,就可以向下面這樣調(diào)用執(zhí)行骨骼動(dòng)畫了,第一步引入alloysk.js,再加入資源resource.js。其中注意的是蒙皮png是以img標(biāo)簽引入,當(dāng)然也可js的方式加載。resource.js里面包括蒙皮數(shù)據(jù),骨骼關(guān)系數(shù)據(jù),和所有動(dòng)作數(shù)據(jù)包括動(dòng)畫名字和參數(shù)。第二步,根據(jù)資源文件new出舞臺(tái)對(duì)象Stage和角色對(duì)象Armature,Stage對(duì)象管理Armature對(duì)象。playTo方法時(shí)核心方法,讓角色播放不同動(dòng)作動(dòng)畫,你可以增加事件去切換不同動(dòng)作。最后啟動(dòng)舞臺(tái)stage.start().

// 第一步 還是要先搭建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
// 第四步 準(zhǔn)備工作
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)
// 第五步 制作動(dòng)畫
// 動(dòng)作快慢 參數(shù):動(dòng)作狀態(tài),速度,初始速度,是否一直執(zhí)行,這里還可以設(shè)置其他動(dòng)作,比如翻滾 roll
// 更新了幾個(gè)動(dòng)作狀態(tài):run 奔跑  roll 翻滾  simpleHit 右手扔?xùn)|西   secondHit  右手打拳
 //  jump_kick  側(cè)踢 comeon 挑釁   relax 放松  soap 撿肥皂
player.playTo('run',50,15,true);
// 動(dòng)畫位置
player.setPos(300,300); 

player.setEaseType(true);		
scene.addObj(player);
 // 啟動(dòng)FPS監(jiān)聽器 (輔助功能 非必須)
alloyge.monitorFPS(scene);
// 開始場(chǎng)景里的動(dòng)畫,并且可以傳入callback循環(huán)調(diào)用
// 最后一步 執(zhí)行動(dòng)畫
scene.start(); 
// 效果就是下面這樣奔跑的少年啦,原諒我還沒開通做gif動(dòng)畫的大門……

相關(guān)代碼以上傳到github上 https://github.com/aurora-polaris/canvas3

由于是剛接觸,很多東西還不是很了解,有時(shí)間會(huì)在整理

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:佳木斯 南京 十堰 淮安 西寧 酒泉 廣西 咸寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于canvas的骨骼動(dòng)畫的示例代碼》,本文關(guān)鍵詞  基于,canvas,的,骨骼,動(dòng),畫的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于canvas的骨骼動(dòng)畫的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于canvas的骨骼動(dòng)畫的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 巴林右旗| 西昌市| 凯里市| 额敏县| 苗栗市| 夏津县| 烟台市| 诸暨市| 探索| 明溪县| 宜丰县| 宣化县| 颍上县| 甘南县| 黎川县| 常德市| 汝州市| 依安县| 伊宁县| 吐鲁番市| 乐陵市| 贵阳市| 屯昌县| 澄江县| 宿松县| 布拖县| 通化县| 克拉玛依市| 佛山市| 乐山市| 紫云| 保靖县| 阿城市| 望谟县| 阿坝| 天峨县| 绥阳县| 新竹县| 蛟河市| 北流市| 江孜县|