所有分类
  • 所有分类
  • 后端开发
学会CreateJS,开启HTML5游戏新世界

学会CreateJS,开启HTML5游戏新世界

库给画布提供了保留图形模式,其中包括一个完整的分层显示列表、一个核心的交互模型以及一个让2D图形在画布上更容易实现的助手类。然后就是我们自定义的js文件代码:

要想做个HTML5游戏大手子?可得学好CreateJS这个神器!它就像个全能工匠一样,能帮你轻松做出炫酷的HTML5游戏。接下来,别急着跳过!先从哪儿下?要么直接在官网上试驾JS文件,要么试试他们的CDN链接。但无论如何,这可是做好HTML5游戏的开局至关重要

EaselJS:简化处理HTML5画布
TweenJS:用来帮助调整HTML5和Javascript属性
SoundJS:用来简化处理HTML5 audio
PreLoadJS:帮助管理和协调加载中的一些资源

创建Stage对象

首先,咱们得搞个叫做Stage的东西,里面塞个Canvas画布,再弄个DisplayObject做它的孩子就行了。这个EaselJS库可是很给力的有储存图形形式的功能,还可以分层显示,甚至有让人眼前一亮的交互框架和各种好用的工具来帮你们玩转2D图形!

使用Bitmap创建图像


别等!先在HTML里加个canvas,再来用JS动动手,让你的图片酷炫起来!这不就是小意思么?

您的浏览器版本过低,请更换更高版本的浏览器

// 通过画布ID 创建一个 Stage 实例
var stage = new createjs.Stage("imageView");
// 创建一个 Bitmap 实例
var theBitmap = new createjs.Bitmap("imgs/testImg.jpg");
// 设置画布大小等于图片实际大小
stage.canvas.width = theBitmap.image.naturalWidth;
stage.canvas.height = theBitmap.image.naturalHeight;
// 把Bitmap 实例添加到 stage 的显示列表中
stage.addChild(theBitmap);
// 更新 stage 渲染画面
stage.update();

看看我们自创的小魔棒啦——专属的JS代码。加上tick能有爽朗的图形运动,让你的图片动感十足!下面是个代码实例, easeljs-shape-circle-move.js。

使用SpriteSheet和Sprite创建动态的位图

//Create a stage by getting a reference to the canvas
var stage = new createjs.Stage("circleView");
//Create a Shape DisplayObject.
var circle = new createjs.Shape();
circle.graphics.beginFill("DeepSkyBlue").drawCircle(0,0,40);
//Set position of Shape instance.
circle.x = circle.y = 50;
//Add Shape instance to stage display list.
stage.addChild(circle);
//Update stage will render next frame
stage.update();

别怕!我们能用Spritesheet跟Sprite做动态图画~首先得把EaselJS搞进来,然后弄出个Canvas。搞定图片后,直接在JS里加载这些素材就行了!然后你就能看到像走马灯那样的效果!在easeljs-sprite-01.html里面有详细教程哟~

学会CreateJS,开启HTML5游戏新世界

学会CreateJS,开启HTML5游戏新世界

想要按钮控制动画不断变化吗?你可以试试gotoAndPlay(action)这个牛逼的方法喔,就能轻松搞定了!只要动动手,调整下HTML文件和JS代码,立马就能看到生动有趣的动画效果哦~感兴趣的话,看看咱们的源码:easeljs-sprite-02.html。

使用Text创建简单的文本

stage.addEventListener("click",handleClick);function handleClick() {    
// Click happened;
    console.log("The mouse is clicked.");
}
stage.addEventListener("mousedown",handlePress);function handlePress() {    
// A mouse press happened.
    // Listen for mouse move while the mouse is down:
    
    console.log("The mouse is pressed.");
    stage.addEventListener("mousemove",handleMove);
}function handleMove() {    
// Check out the DragAndDrop example in GitHub for more
    console.log("The mouse is moved.");
}

The mouse is pressed.
The mouse is clicked.

Text创建文本也不难~直接看代码就知道怎么弄!

使用Container创建保存其他显示对象的容器

// Update stage will render next frame
createjs.Ticker.addEventListener("tick",handleTick);
//添加一个Ticker类帮助避免多次调用update方法
function handleTick() {    
var maxX =  stage.canvas.width - 50;    
var maxY =  stage.canvas.height - 50;    
//Will cause the circle to wrap back
    if(circle.x < maxX && circle.y == 50){        
    // Circle will move 10 units to the right.
        circle.x +=10;
    }else if(circle.x == maxX && circle.y  50 && circle.y == maxY){
        circle.x -=10;
    }else if(circle.x<= 50){
        circle.y -=10;
    }
    stage.update();
}

罐子里装的都是你想要留住的显示对象登录后就可以复制。可是这后面的看不到了,真想知道发生啥事!

学会CreateJS,开启HTML5游戏新世界

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/03/12326.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?