Atitit 基于dom的游戏引擎
Atitit 基于dom的游戏引擎
1. 添加sprite控件(cocos,createjs,dom)1
1.3. 动画移动(cocos2d-js,jquery animate,create.js)2
1. 添加sprite控件(cocos,createjs,dom)
1.1.1. Cocos
// var sushi = new cc.Sprite(res.Sushi_png);
var sushi = new SushiSprite(res.Sushi_png);
var size = cc.winSize;
var x = sushi.width/2+size.width/2*cc.random0To1();
sushi.attr({
x: x,
y:size.height - 30
});
this.addChild(sushi,5);
1.1.2. createjs
var man = new createjs.Bitmap("../res/grossini.png");
stage.addChild(man);
1.1.3. Dom模式
var imgStr='<img src="img/rmb@cyar@.jpg" style="position:absolute; left:0; top:0;" class="sushi_tag_5kwi" />';
//imgStr=imgStr.replace("@w@",rdmWid);
imgStr=imgStr.replace("@cyar@",cyar);
// console.log("--imgStr:"+imgStr);
var $h1=$(imgStr);
$("body").append($h1);
1.1. 动画移动的实现原理
Cocos与jq anim只要设置哈时间与最终的位置走ok..
Create.js还是传统的模式,每fps的事件里面儿写移动坐标..麻烦的..
1.2. 动画移动(cocos2d-js,jquery animate,create.js)
//down move
// var dorpAction = cc.MoveTo.create(4, cc.p(sushi.x,-30));
//sushi.runAction(dorpAction);
jquery animate
$($h1).animate({top:"800px"},10000);
createjs之小黄鸡鼠标移动效果 - 笔记 - 前端网(W3Cfuns).html
//SpriteSheet 精灵表单
sprite = new createjs.Sprite(new createjs.SpriteSheet(data));
createjs.Ticker.setFPS(20);
createjs.Ticker.addEventListener("tick",tick);
}
function tick(e){
var t = stage.getNumChildren(); //获取舞台下面的数量
for ( var i=t-1; i>0 ; i-- ) {
var s = stage.getChildAt(i);
s.vX += 1;
s.vY += 2;
s.x += s.vX;
s.y += s.vY;
s.scaleX = s.scaleY = s.scaleX + s.vS;
s.alpha += s.vA;
if(s.alpha <= 0 || s.y > canvas.height ){
stage.removeChildAt(i);
}
}
stage.update(); //必须更新舞台
1.3. ---code
//schedule(this.update,2,16*1024,1);
var PlayLayer={ //main layer,,one scence must hav a scence
curCyarIdx:-1,
cyararr:[5,20,50,100],
schedule:function(fun,interTime,repeat,delay){
window.setInterval(fun.bind(this),interTime*1000);
},
ctor:function () {
this.addSushi();
this.schedule(this.addSushi,2,16*1024,1);
},
addSushi : function() {
//alert(this.curCyarIdx);
this.curCyarIdx++;
if(this.curCyarIdx>3)
this.curCyarIdx=0;
var cyar=this.cyararr[this.curCyarIdx];
var docWid=$(document.body).width();
console.log("--docWid wid:"+docWid);
var imgStr='<img src="img/rmb@cyar@.jpg" style="position:absolute; left:0; top:0;" class="sushi_tag_5kwi" />';
//imgStr=imgStr.replace("@w@",rdmWid);
imgStr=imgStr.replace("@cyar@",cyar);
// console.log("--imgStr:"+imgStr);
var $h1=$(imgStr);
$("body").append($h1);
$h1.load(function(){
var w = $h1.width();
var h = $h1.height();
var imgWid=$($h1).width();
console.log("--imgWid wid:"+imgWid);
var maxWid=docWid-imgWid;//maxWid=800;
var rdmWid= Math.floor(Math.random()*(maxWid+1));
console.log("--rdm wid:"+rdmWid);
$h1.css("left",rdmWid+"px");
});
// this.addChild(sushi,5);
// $(".sushi_tag_5kwi").css("top","0");
//$(".sushi_tag_5kwi")
//down move
// var dorpAction = cc.MoveTo.create(4, cc.p(sushi.x,-30));
//sushi.runAction(dorpAction);
$($h1).animate({top:"800px"},10000);
//gc
window.setTimeout(function(){
$($h1).remove();
},6500);
}
};
PlayLayer.ctor();
参考资料
最火HTML5 JavaScript游戏引擎:国外篇(一)-CSDN.NET.html
我的js游戏小引擎—— 谈谈 基于dom VS 基于canvas - 真阿当 - 博客园.html
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit 基于dom的游戏引擎的更多相关文章
- 推荐一款基于XNA的开源游戏引擎《Engine Nine》
一.前沿导读 XNA是微软基于.Net部署的下一代3D/2D游戏开发框架,其实XNA严格来说类似下一代的DirectX,当然不是说XNA会取代DirectX,但是基于XNA我们对于面向XBOX360, ...
- 20个免费的 JavaScript 游戏引擎分享给开发者
这篇文章收集了20个免费的 JavaScript 游戏引擎分享给开发者.这些游戏引擎能够帮助游戏开发人员更快速高效的开发出各种好玩的游戏. 使用 HTML5.CSS3 和 Javascript 可以帮 ...
- 20 款免费的 JavaScript 游戏引擎
使用 HTML5,CSS3 和 Javascript 可以帮助面向对象开发者开发拥有各种特性的游戏,比如:3D 动画效果,Canvas,数学,颜色,声音,WebGL 等等.最明显的优势在于使用 HTM ...
- RPG JS:免费开源的跨平台RPG游戏引擎
RPG JS是一个2D RPG游戏制作引擎,目前版本基于Ease|JS游戏引擎,基于Canvas Engine的新版本即将发布. RPG JS是免费且开源的. RPG JS有着完善的文档支持. RPG ...
- 为什么没有好用的Android游戏引擎?
随着Android平台的不断发展,最近Android开发人员数量呈现出上升势头,就连以往较为冷门的游戏开发领域也涌现出不少生力军.然而,全新的问题正摆在了刚開始学习的人面前,非常多他们从未遇过的问题開 ...
- cocos2d-x游戏引擎核心之六——绘图原理和绘图技巧
一.OpenGL基础 游戏引擎是对底层绘图接口的包装,Cocos2d-x 也一样,它是对不同平台下 OpenGL 的包装.OpenGL 全称为 Open Graphics Library,是一个开放的 ...
- Atitit 游戏引擎---物理系统(1)------爆炸效果
Atitit 游戏引擎---物理系统(1)------爆炸效果 1.1. 动画框架的来源flex,jqueryuijs,anim , cocos2d 1 1.2. Jqueryui的特效库 1 1.3 ...
- 转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架
高层游戏引擎——基于OGRE所实现的高层游戏引擎框架 这是意念自己的毕业论文,在一个具体的实践之中,意念主要负责的是物件和GUI之外的其他游戏系统.意念才学疏陋,望众位前辈不吝赐教.由于代码质量不高. ...
- 基于Java的开源3D游戏引擎jMonkeyEngine
jMonkeyEngine简介 jMonkeyEngine是一款纯Java语言编写的游戏引擎,继承了Java应用跨平台的特性,而且是开放源代码的,遵循BSD开源协议,BSD开源协议用一句简单的话概括就 ...
随机推荐
- 【转】gtk+多线程的程序实例
#include <gtk/gtk.h> gint test() { while(1) { gdk_threads_enter(); g_printf("hello\n" ...
- C++Builder设置完BorderStyle的值为none,以后如何实现窗口的移动和拉伸
在.h 文件中声明变量private: void __fastcall WndProc(TMessage &Msg);// User declarations: 在.cpp中实现下面的函数 v ...
- shell下批量重命名svn文件的方法
shell下批量重命名svn文件的方法 目标: 将svn目录下所有文件重命名 , 原文件前缀为 ucc_ , 批量改为 xmd_ 用tree看下当前svn目录 ucc_1.c ucc_1.h ucc_ ...
- express教程
原文地址 http://javascript.ruanyifeng.com/nodejs/express.html JavaScript 标准参考教程(alpha) 草稿二:Node.js Expre ...
- 使用JSON Schema来验证接口数据
最近在做一些关于JSON Schema的基建,JSON Schema可以描述一个JSON结构,那么反过来他也可以来验证一个JSON是否符合期望的格式. 如果之前看我写的<使用joi来验证数据模型 ...
- Mysql 插入部分字段问题
1. 字段如果不设置auto_increment和default的值,是不允许插入表的. 2. insert into student(id, name) values("1", ...
- 8.3 网络通信 Volley
AsyncHttpClient,它把HTTP所有的通信细节全部封装在了内部,我们只需要简单调用几行代码就可以完成通信操作了. Universal-Image-Loader,它使得在界面上显示网络图片的 ...
- UI拼图导出脚本,兼容cegui的ImageSet格式
该脚本用于photoshop,美术可以先用photoshop拼接图片,在加载该脚本导出xml格式的文件,该文件记录了每个小的图片坐标信息 // Copyright 2002-2003. Adobe S ...
- 决策树 -- ID3算法小结
ID3算法(Iterative Dichotomiser 3 迭代二叉树3代),是一个由Ross Quinlan发明的用于决策树的算法:简单理论是越是小型的决策树越优于大的决策树. 算法归 ...
- Linux命令行小插曲
当命令行出错活出现<时,可使用 ctrl+c强制退出