百度首页 | 百度空间
 
查看文章
 
从js与as的setInterval想到的
2007-04-16 20:15

看了好友秦迷天下的一篇文章《setTimeout和setInterval的问题》后,我想到之前写的那个贪吃蛇游戏,这个小游戏没有难度设置。

我之所以没加这个功能是因为当时我想在as3.0中实现,as3.0有对帧频直接控制的类,非常的方便!控制了帧频,那么那条蛇的运动速度也得到了控制,自然就可以轻易实现难度设置功能了……在解决了秦迷天下的那个问题后(我想应该是解决了^^),我突然想到可以用setInterval来控制蛇的运动速度啊!

实验证明我的想法是对的,我使用了下面这样的算法(谁有更好的算法?):

if (h.text != 0) {
s = setInterval(onEnterFrame, 1000/(h.text*h.text));//onEnterFrame为贪吃蛇的功能函数
}

其中h.text中的h为输入文本的实例名!我限制了难度等级从1-9,这样这款贪吃蛇小游戏就有了难度设置功能了^+^。不过要注意在设置了s=setInterval()后,一定要在游戏结束与成功对应的帧中添加如下代码:

clearInterval(s);

这样做的目的是清除已设置的setInterval对象,否则你的蛇永远都是一样的初始速度了……游戏地址:http://ycosxhack.512j.com/snake1.htm,欢迎试玩,找出bugs~~~要是谁能在难度等级为9的情况下通关(150分过关),我就佩服死他or她了……


类别:涂鸦 | 添加到搜藏 | 浏览() | 评论 (11)
 
最近读者:
 
网友评论:
1
2007-04-16 20:30
呵呵 其实我也是在做你那个游戏的时候,想加个速度,所以就想到了setInterval,现在我想考虑做俄罗斯方块,感觉有难度 呵呵
 
2
2007-04-16 20:31
哇,我没时间去做这些游戏了。
你加油啊。快快做出来,呵呵~~~~
 
3
2007-04-16 21:43
玩了一下,
还做了个截图...
确实,
第一关就挺快的...
不过做的很好(虽然技术方面不行家,但毕竟要走向那里
(学习了...
 
4
2007-04-17 07:01
GOOD.加油
~
 
5
2007-04-17 10:47
恩。有时间继续完善~~
期待一楼的作品^+^
 
6
2007-04-17 11:59
难度9时,还没反应过来什么回事就被KO了。。。。
 
7
2007-04-17 17:48
呵呵,所以……
谁要是能在难度9过关我就服了他了……
 
8
2007-04-19 16:56
那个游戏弄那么难干什么,太打击人了。。。
 
9
2007-04-19 16:59
被打击了吧?^^呵呵
 
10
2007-04-19 17:08
第一关最多打到130分,主要是自己是属于反应比较迟钝的那类人。。。-_-
我承认我的失败。。。。55555~~~~~~
 
11
2007-04-19 17:38
没事,继续努力。
玩此游戏有个技巧,就是先从难度9开始玩,玩得天昏地暗……再玩难度1的就太容易了。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu