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开源协议用一句简单的话概括就 ...
随机推荐
- 使用django-admin.py 时出错
我在安装好django后,运行django-admin.py 时出现两处错误: 一.当你在dos命令下输入django-admin.py 时不会运行,而是以记事本的方式打开了. 解决办法:找到你的dj ...
- Don't Block on Async Code【转】
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html This is a problem that is brough ...
- MATLAB-octave中平面向量场图的可视化
quiver,平面向量场图 [x, y, z] = peaks(20); [u, v] = gradient(z); contour(x, y, z, 10); hold on, quiver(x,y ...
- SA: 情感分析资源(Corpus、Dictionary)
先主要摘自一篇中文Survey,http://wenku.baidu.com/view/0c33af946bec0975f465e277.html 4.2 情感分析的资源建设 4.2.1 情感分析 ...
- middleware - bodyparser
express4之前,bodyparser是express下的一个对象. express4把bodyparser分离出来. 本文中的实例基于以下的这个请求 $.ajax({ url: '/save', ...
- 【转】Linux 文件夹文件创建与删除
[转自:Linux文件夹文件创建.删除 - 风生水起 - 博客园] 1. 删除文件夹 rm -rf fileNamede> -删除文件夹实例:rm -rf /var/log/httpd/acc ...
- 【转】IE劫持原理 BHO
为什么"浏览器劫持"能够如此猖狂呢?放眼众多论坛的求助贴,我们不时可以看到诸如"我的IE被主页被改了,我用杀毒工具扫了一遍都没发现病毒,我把主页改回自己的地址,可是一重启 ...
- KMP 算法
KMP 是一个字符串匹配算法.之所以称之为KMP 是因为这个算法是由Knuth.Morris.Pratt三个提出来的. 这个算法能干什么呢 ? 我想到的有三个: 1. 告诉你一个串是否是另外一个串的子 ...
- linux-9基本命令之-查看系统负载 uptime
uptime 查看系统负载 uptime @1.查看每一秒的刷新一次系统负载运行情况 [root@localhost /]# watch -n uptime 系统当前时间 系统已运行时间 ...
- javascript定时函数
setTimeout(表达式,延迟时间)是定时程序,也就是在什么时间以后干什么,只做一次,就不做了.表达式为字符串函数或其它表达式,时间单位为毫秒 例子:setTimeout("f()&qu ...