JavaScript游戏之是男人就下100层代码打包


Posted in Javascript onNovember 08, 2010

这次的游戏的编写难度比之前的都高很多。本次鄙人用了js的继承以及设计模式的工厂模式,也算是一个突破。。。 

游戏的大致设计思路:
1,玩家类Player:一个人能左右移动,以及上下移动的小人。
拥有的基本方法:{
左右移动 : 单纯的键盘左右移动,

向下移动 : 属于向下加速度移动,每次移动都会加一个重力加速度的值,

向上移动 : 其实是跟着方块一起向上移动, 匀速向上运动,

弹跳 : 就是玩家先向上一个减速度运动,然后,当速度小于1时,像下加速度运动 

2,方块基类BlockBase:所有方块的基类,拥有公共的方法以及接口。

拥有的基本方法:{

移动 : 方块的向上匀速移动,

检测玩家是否在方块上  : 判断玩家是否停留在方块上 

以及一些抽象的接口函数,只有名字,需要在子类中实现,具体看源码。

 

3,各种子类,如 普通方块类NormalBlcok、弹跳方块类FlipBlock等

继承的实现方式如下:

在构造函数中:BlockBase.call(this);继承非prototype的属性与方法

在函数外部:子类方块.prototype = new BlockBase(); 继承基类的prototype的属性与方法

 

4, 工厂类BlockFactory:负责生产方块,以及击中处理方块

拥有的基本方法:{

生成方块 :  重点的方法,就是随机生成一块方块 

其实我也不知道怎么说,还是看源码吧。里面我注释得很具体了。

还有,bug肯定是会有的,希望大家谅解。。。 

最后献上预览吧。希望大家多多拍砖,能让我多些提高。最好在代码的编写上。 
 方向左右控制移动,界面是做得比较丑。。。大家见谅。
演示代码:http://demo.3water.com/js/DownFloor/index.html

完整源码打包>> /201011/yuanma/DownFloor.rar 

Javascript 相关文章推荐
去除链接虚线全面分析总结
Aug 15 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
Sep 10 Javascript
Angularjs制作简单的路由功能demo
Apr 14 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
ES6新特性之解构、参数、模块和记号用法示例
Apr 01 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
Aug 27 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 Javascript
深入理解Antd-Select组件的用法
Feb 25 Javascript
JavaScript游戏之优化篇
Nov 08 #Javascript
javascript开发中因空格引发的错误
Nov 08 #Javascript
window.ActiveXObject使用说明
Nov 08 #Javascript
发布一个基于javascript的动画类 Fx.js
Nov 05 #Javascript
微博@符号的用户名提示效果。(想@到谁?)
Nov 05 #Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 #Javascript
细说浏览器特性检测(2)-通用事件检测
Nov 05 #Javascript
You might like
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
几个Linux面试题笔试题
2016/08/01 面试题
退休感言
2014/01/28 职场文书
教师网络培训感言
2014/03/09 职场文书
签约仪式主持词
2014/03/19 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
承诺书范本
2015/01/21 职场文书
太行山上观后感
2015/06/05 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
django中websocket的具体使用
2022/01/22 Python