javascript 人物逼真行走,已完成

所属分类: 网络编程 / JavaScript 阅读数: 804
收藏 0 赞 0 分享
先欣赏,走两步试试.

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

然后请分析下程序,我出以下题目,供牛牛们练手(RPG游戏开发 - 实战,不搞理论,着重程序实现思路).
1:我的程序,你还能否再精简?优化/改编算法?提高效率?试试吧,不过不能说太容易..提示:我目前认为,判断8个移动方向的程序,虽然效率可以,但IF ELSE的写法真有点老套,我也在想新的思路来简化这段程序,你若有,就漏两手吧!
2:都想玩寻路是吧?哈哈,那么就请试试碰触那个蓝色方块?注:假设,将来出现的障碍,是随机的,不是固定的..你碰到了比说任何蓝色障碍,就停住,或说,饶过去....提醒你:关键是思路.
3:有个问题我也不知道,就是CSS的clip,我发现就是,虽然裁剪了一小块,但其他被裁掉的部分,虽然看不见,但是,依然占用地方(原大小),比如,人物走到中间,却因为空白的下半部分超出,就会有滚动条了,这个,能不能就硬性去掉裁剪掉的部分?不让其影响滚动条?(别说BODY加上scroll=no就完事了,这个我可知道^-^)
4:谁有本事改成FF也能运行?注:我没装那玩意,哈哈,不过,我认为不太容易/可能很难改....


注:以上4点,你只需完成一点即可(就很牛),当然了,你4点都能/都想解决,那更牛B了,呵呵开个玩笑,反正随便你^-^.

以下是新增的内容:

1:采取了campaign的建议,使用其超级三元表达式,支持多行?能加注释?堪比多个IF ELSE?真牛..使用了,剩了不少代码.
2:借鉴了winter的思路,使用CSS的backgroundPosint方式代替了clip裁剪,简便易用....一个DIV就搞定了,无需在包容一个IMG
3:参考了理论家hax的代码,HTML代码使用了兼容写法,不过,JS程序没浏览器测试,无法写标准,呵呵..

4:自己,又实现了[鼠标按住],不停变换方向移动,你这次测试,可以单击,可以一直按住鼠标左键不停移动...思路就是用一个计时器不停检测,也占极少CPU,不知大家还有没更好思路?还有,用了setCapture()这种鼠标锁定.
5:自己,经测,堵住了几个异常漏洞(当值为0或NaN时,就说,应该不会再出错误)

精简/优化后的程序:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

点击在新窗口查看全图
更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多