createJs的由来,基础什么的就不说了,就直接说createJs的用法吧。
首先到createJs官网下载,createJs分成easelJs(图形动画)、preloadJs(文件加载)、soundJs(音频控制)以及tweenJs(补间动画)四部分,大家下载的时候,建议下载两个文件,一个是压缩版文件,用于项目中的引用,再下载个源码文件,用于查看用法、API、demo等。因为楼主目前只用了easelJs和preloadJs,所以暂时就只说这两个,其实就这两个已经非常够用了。
接下来开始分析代码:
首先引入js文件
<script src="easeljs-071minjs"></script>
<script src="preloadjs-041minjs"></script>
然后进行舞台初始化 *** 作:
function init(){
stage = new createjsStage("cas");
C_W = stagecanvaswidth;
C_H = stagecanvasheight;
var manifest = [
{src:"image/manpng" , id:"man"},
{src:"image/groundpng" , id:"ground"},
{src:"image/bgpng" , id:"bg"},
{src:"image/highjpg" , id:"high"},
{src:"image/coinspng" , id:"coin"}
]
loader = new createjsLoadQueue(false);
loaderaddEventListener("complete" , handleComplete);
loaderloadManifest(manifest);
drawLoading();
}
上面就用到了preloadJs中的方法,实例化一个loader,把需要加载的文件放在manifest里面,进行加载,加载完成后调用回调handleCompelete函数:
function handleComplete(){ //当素材load完后执行该方法
var manImage = loadergetResult("man"),
lowground = loadergetResult("ground"),
highground = loadergetResult("high"),
bgImage = loadergetResult("bg"),
coins = loadergetResult("coin");
sky = new createjsShape();
skygraphicsbf(bgImage)drawRect(0,0,C_W,C_H);
skysetTransform(0, 0, 1 , C_H/bgImageheight);
stageaddChild(sky);
man = createMan(200,326,manImage);
//该框为判定角色的判定区域
kuang = new createjsShape();
kuanggraphicsbeginStroke("rgba(255,0,0,05)")drawRect(0 , 0 , mansize()w , manpicsize()h15);
// stageaddChild(kuang);
mapHandle(lowground , highground , coins);
createjsTickertimingMode = createjsTickerRAF;//设置循环方法,可以是requestAnimationFrame或者是setTimeout
createjsTickersetFPS(30);//舞台帧率控制
createjsTickeraddEventListener("tick", tick);//绑定舞台每一帧的逻辑发生函数
windowaddEventListener("keydown" , function(event){
event = event||windowevent;
if(eventkeyCode===32&&manjumpNum<manjumpMax){
manjump();
}
})
}
获得加载完成后端的数据就直接用loadergetResult就可以获取了,跑酷游戏需要一个背景,所以,我们实例化一个sky,然后进行位图绘制,bf方法是beginBitmapFill的缩写,该方法就是开始绘制位图,后面的drawRect是位图的绘制区域,区域当然是整个画布啦,所以就是drawRect(0,0,C_W,C_H)。实例化出来sky后就直接添加到舞台stage里面就行了。接下来是实例化一个角色,createMan方法后面有说,是自己封装的。
然后进行舞台循环设置,上面有注释了,就不说了。
教程参考Colin Garven提出的实现圆形进度按钮的思路。我们将使用Jake Archibald讲过的SVG素描动画技术来实现圆形进度过程,然后提供一个成功或失败的状态来显示完成后的最终状态。 今天给大家展示如何实现一个漂亮的进度按钮的思路
createJs的由来,基础什么的就不说了,就直接说createJs的用法吧。
首先到createJs官网下载,createJs分成easelJs(图形动画)、preloadJs(文件加载)、soundJs(音频控制)以及tweenJs(补间动画)四部分,大家下载的时候,建议下载两个文件,一个是压缩版文件,用于项目中的引用,再下载个源码文件,用于查看用法、API、demo等。因为楼主目前只用了easelJs和preloadJs,所以暂时就只说这两个,其实就这两个已经非常够用了。
接下来开始分析代码:
首先引入js文件
<script src="easeljs-071minjs"></script>
<script src="preloadjs-041minjs"></script>
然后进行舞台初始化 *** 作:
function init(){
stage = new createjsStage("cas");
C_W = stagecanvaswidth;
C_H = stagecanvasheight;
var manifest = [
{src:"image/manpng" , id:"man"},
{src:"image/groundpng" , id:"ground"},
{src:"image/bgpng" , id:"bg"},
{src:"image/highjpg" , id:"high"},
{src:"image/coinspng" , id:"coin"}
]
loader = new createjsLoadQueue(false);
loaderaddEventListener("complete" , handleComplete);
loaderloadManifest(manifest);
drawLoading();
}
上面就用到了preloadJs中的方法,实例化一个loader,把需要加载的文件放在manifest里面,进行加载,加载完成后调用回调handleCompelete函数:
function handleComplete(){ //当素材load完后执行该方法
var manImage = loadergetResult("man"),
lowground = loadergetResult("ground"),
highground = loadergetResult("high"),
bgImage = loadergetResult("bg"),
coins = loadergetResult("coin");
sky = new createjsShape();
skygraphicsbf(bgImage)drawRect(0,0,C_W,C_H);
skysetTransform(0, 0, 1 , C_H/bgImageheight);
stageaddChild(sky);
man = createMan(200,326,manImage);
//该框为判定角色的判定区域
kuang = new createjsShape();
kuanggraphicsbeginStroke("rgba(255,0,0,05)")drawRect(0 , 0 , mansize()w , manpicsize()h15);
// stageaddChild(kuang);
mapHandle(lowground , highground , coins);
createjsTickertimingMode = createjsTickerRAF;//设置循环方法,可以是requestAnimationFrame或者是setTimeout
createjsTickersetFPS(30);//舞台帧率控制
createjsTickeraddEventListener("tick", tick);//绑定舞台每一帧的逻辑发生函数
windowaddEventListener("keydown" , function(event){
event = event||windowevent;
if(eventkeyCode===32&&manjumpNum<manjumpMax){
manjump();
}
})
}
获得加载完成后端的数据就直接用loadergetResult就可以获取了,跑酷游戏需要一个背景,所以,我们实例化一个sky,然后进行位图绘制,bf方法是beginBitmapFill的缩写,该方法就是开始绘制位图,后面的drawRect是位图的绘制区域,区域当然是整个画布啦,所以就是drawRect(0,0,C_W,C_H)。实例化出来sky后就直接添加到舞台stage里面就行了。接下来是实例化一个角色,createMan方法后面有说,是自己封装的。
然后进行舞台循环设置,上面有注释了,就不说了。
腾讯原生小程序框架 OMIX20现在支持的是在页面中去使用状态管理,但实际工作中很多情况下需要我们在appjs中就去使用状态管理,比如说在onLaunch中我们需要授权登录并且获取用户的信息,这些就会需要在获取后用状态管理及时存储,方便以后的使用。所以我们需要对其改装。
目前我使用的是240版本,如果不知道的话可以在utils中的createjs中最上面注释查看版本号。
打开createjs,找到create方法。
将if语句中的 Page(option)放入createPage中
这样就可以在appjs中使用了,引入createjs和store中的indexjs在appjs中直接写storedataxxx就好
1appjson
{
"pages":[
"pages/audio/audio"]}
使用audio组件
2 audiowxml
<audio
poster="{{poster}}"
name="{{name}}"
author="{{author}}"
src="{{src}}"
id="myAudio"
controls
loop></audio><button type="primary" bindtap="audioPlay">播放</button><button type="primary" bindtap="audioPause">暂停</button><button type="primary" bindtap="audio14">设置当前播放时间为14秒</button><button type="primary" bindtap="audioStart">回到开头</button>
3 audiojs
Page({
onReady(e) {
// 使用 wxcreateAudioContext 获取 audio 上下文 context
thisaudioCtx = wxcreateAudioContext('myAudio')
},
data: {
poster: '>
CreateJS包含4个部分,EaselJS、TweenJS、PreloadJS、SoundJS,其中最主要的部分EaselJS包含了开发Html5游戏的所有功能,仅仅使用EaselJS几乎可以完成所有的开发工作,其余三项可以看作EaselJS的辅助工具。比如响应tick事件然后改变元素坐标就可以实现动画功能,而使用TweenJS来创建补间动画,则可以省去你很多代码,简化了 *** 作。一个简单的tick动画看起来是这样的:<pre t="code" l="js">var stage, circle;
function init(){
stage = new createjsStage(documentgetElementById('game'));
createjsTickeraddEventListener("tick", handleTick);
createjsTickersetFPS(60);
circle = new createjsShape();
circlegraphicsf("red")dc(0,0,50);
circlex = 0;
circley = 100;
stageaddChild(circle);
circleaddEventListener("click", function(event){
createjsTickersetPaused(!createjsTickergetPaused());
});
}
function handleTick(event){
if(!eventpaused){
circlex +=5;
if(circlex > 1000){
circlex = 0;
}
}
stageupdate();
}
以上就是关于如何使用Createjs来编写HTML5游戏TweenJS和Tick动画全部的内容,包括:如何使用Createjs来编写HTML5游戏TweenJS和Tick动画、如何使用createjs创建一个透明的按钮 优才学院、如何使用Createjs来编写HTML5游戏EaselJS简介等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)