- 浏览: 83443 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
cl1154781231:
怎么解决?
Node cannot be inserted at the specified point in the hierarchy -
sanshizi:
1927105 写道写文档的能力有待提高啊现在如何
一个下拉菜单效果的实现 -
sanshizi:
jacking124 写道看着不是很明白的加入了说明
一个下拉菜单效果的实现 -
sanshizi:
Chris_bing 写道有Jackson,Gson,json ...
将java类生成json -
Chris_bing:
有Jackson,Gson,json-smart那么多类库,干 ...
将java类生成json
读了一篇<<如何实现游戏主循环(Game Loop)的详细解析>> 的文章, 用javascript实现一下,目前仍没有完全参透其中含义, 出来的效果不能另人满意
<html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <title>Javascript 游戏时钟小试</title> <script type="text/javascript" src="jquery-1.6.4.js"></script> <style type="text/css"> body{font-size: 14px;} .wrap{border:solid 1px #f60; width:500px; height:300px; position:relative;} .item{border:solid 1px #660; line-height:30px; height:30px;} .red{color:red;} .block{width:10px;height:10px;background-color:#aaa;position:absolute;z-index:10000;line-height:0;font-size:0;} .ss{width:1px;height:14px;background-color:#eee;color:#ff0;line-height:0;font-size:10px;line-height: 14px;margin-top: 1px;} #debug{position:fixed; border:solid 1px #f60; width:600px;height:100%;right:0;top: 0;overflow: scroll;} </style> </head> <body> <a href="javascript:start()">start</a> | <a href="javascript:pause()">pause</a> | addBlock<a href="javascript:addBlock()">[1]</a><a href="javascript:addBlock2()">[10]</a>(<span id="blocks">0</span>) | Frame: <span id='Frame'>0</span> | SkipedFrame: <span id='skipFrame'>0</span> | <a href="javascript:big()">复杂计算</a> | <a href="javascript:$('#debug')">ClearDebug</a> <div class="wrap" id="msg"> <div id="block-x" class="block" style="top:20px;left:0;background-color:#f60;"></div> </div> <div class="wrap"> <div class='ss' id='s_0'></div> <div class='ss' id='s_1'></div> <div class='ss' id='s_2'></div> <div class='ss' id='s_3'></div> <div class='ss' id='s_4'></div> <div class='ss' id='s_5'></div> <div class='ss' id='s_6'></div> <div class='ss' id='s_7'></div> <div class='ss' id='s_8'></div> <div class='ss' id='s_9'></div> <div class='ss' id='s_10'></div> <div class='ss' id='s_11'></div> <div class='ss' id='s_12'></div> <div class='ss' id='s_13'></div> <div class='ss' id='s_14'></div> <div class='ss' id='s_15'></div> <div class='ss' id='s_16'></div> <div class='ss' id='s_17'></div> <div class='ss' id='s_18'></div> <div class='ss' id='s_19'></div> </div> <div id="debug"></div> <script type="text/javascript"> //模拟复杂计算 function big(){ //b = (new Date()).getTime(); var i=0; while(i++ <500000){ (new Date()).getTime(); } //alert((new Date()).getTime() - b); } function GetTickCount(){return (new Date()).getTime();} var fps = 25; var SKIP_TICKS = 1000 / fps; var MAX_FRAMESKIP = 5; var next_game_tick = GetTickCount(); var game_is_running = false; var interpolation = 0, loop = 0; var nowFrame = 0; var skipFrame = 0; var speed = 50;// px/s var timer; var time_interval = 10; var x = 0; var $bbbox=$('#block-x'); function start(){ if(game_is_running === true) return; game_is_running = true; next_game_tick = GetTickCount(); timer = setInterval(function(){ loops = 0; while( GetTickCount() > next_game_tick && loops < MAX_FRAMESKIP) { update_game(); next_game_tick += SKIP_TICKS; loops++; skipFrame += loops > 1 ? 1 : 0; //debug(x) //$bbbox.width(x + 10); } interpolation = ( GetTickCount() + SKIP_TICKS - next_game_tick ) / SKIP_TICKS; display_game( interpolation ); },time_interval); } function pause(){ clearInterval(timer); game_is_running = false; } function update_game(){ nowFrame++; var i,l; for(i=0,l=arr1.length;i<l;i++){ next(arr2[i]); } } function debug(){ var x=''; for(var j=0,len=arguments.length;j<len;j++){ x+=' | ' + arguments[j]; } $('#debug').prepend(x + '<br >') x = null; } var arr_c = []; function c(interpolation){ arr_c.push(interpolation); while(arr_c.length>20) arr_c = arr_c.slice(1); var i; for(i=0,len=arr_c.length;i<len;i++){ $('#s_'+i).css({width : arr_c[i] * 100 + 50});//.html(arr_c[i]) } } //0,1,2,3,4,5 function next(arr){ arr[0] += arr[2] * arr[4] * SKIP_TICKS ; if(arr[0]<0){ arr[0] = 0; arr[2] *= -1; }else if(arr[0]>=490){ arr[0] = 490; arr[2] *= -1; } arr[1] += arr[3] * arr[5] * SKIP_TICKS; if(arr[1]<0){ arr[1] = 0; arr[3] *= -1; }else if(arr[1]>290){ arr[1] = 290; arr[3] *= -1; } } var arr1 = []; var arr2 = [];//[x,y,1,1,speed_x,speed_y] function display_game(interpolation){ $('#Frame').html(nowFrame); $('#skipFrame').html(skipFrame); var i,l; for(i=0,l=arr1.length;i<l;i++){ //debug(arr2[i][0], arr2[i][1]* interpolation) $(arr1[i]).css({left : arr2[i][0] , top : arr2[i][1]}); } c(interpolation); //模拟很卡 //if(Math.random()>0.99) big(); } function addBlock(){ var block = $('<div class="block" id="b'+ arr1.length +'"></div>'); $('#msg').append(block); var a = Math.random() * speed / 1.1 + 2; var b = Math.sqrt(speed * speed - a * a); arr2.push([0,0,1,1,a/1000,b/1000]); arr1.push(block); block = null; $('#blocks').html(arr1.length); } function addBlock2(){ var _i=0; while(_i++ <10) addBlock(); } </script> </body> </html>
发表评论
-
javascript 各种编码转换, md5编码
2013-09-10 15:10 3741var hexcase=0;var b64pad=" ... -
微博分享
2013-09-10 09:58 962/* * 微博分享 */ (function () ... -
javascript 图标库
2013-07-30 17:24 836[size=24px;]第1个: Highcharts[/si ... -
正则表达式简介, 正则表达式语法
2013-07-30 17:13 637正则表达式语法 一个正则表达式就是由普通字符(例如 ... -
通过ua检测浏览页面的设备是phone还是tablet
2013-06-02 15:03 2593通过ua检测浏览页面的设备是phone还是tablet ... -
jQuery serializeArray() 方法无效, 不起作用, 得不到数组
2013-05-10 14:59 1225jQuery.serializeArray() 方法无效, 不 ... -
根据userAgent值的特性判断客户端设备及浏览器类型
2013-01-11 09:55 4578文章写的太好了, 直接转了 原文链接:http://www. ... -
Node cannot be inserted at the specified point in the hierarchy
2012-12-24 18:35 3728今天搞代码firefox下发现一个报错: Timestamp ... -
一个下拉菜单效果的实现
2012-10-11 17:10 1689先前只是记录, 说的不够清楚,当然现在仍可能不够清晰. 阅读此 ... -
不同浏览器 选择Flash的方法
2012-07-13 11:07 999选择Flash的方法 function getSWF( ... -
复制表单HTML内容, 且同时复制表单的最新值
2012-07-07 10:13 4127遇到一个小需求, 即得到一个页面某一块的html源码, 这段 ... -
打分效果学习
2012-07-02 23:34 1038<html> <head> ... -
Astar 学习
2012-07-02 18:56 714Astar寻路教程 http://www.cnblogs.c ... -
[转] 魔兽技能冷却效果(绝佳思路)
2012-06-28 16:03 988非常非常的聪明的方法, 有创意, 五体投地 <!D ... -
Javascript 游戏时钟小试
2012-06-26 16:34 862读了一篇<<如何实现游戏主循环(Game Loop ... -
[转]JavaScript 学习 - 提高篇
2012-06-26 16:32 708JavaScript 学习 - 提高篇 一. JavaSc ... -
IE6背景图片重绘
2012-06-22 10:58 843今天用jquery做一个块滑动效果, 发现ie6每次动作都要 ... -
Google地图API使用demo
2012-06-13 09:33 7659<html xmlns="http:/ ... -
坑爹的base标签啊
2012-06-01 14:42 657直接看代码 <base href="ht ... -
IE6中使用PNG, 透明
2012-06-01 14:43 751使用方法: <!--[if IE 6]> & ...
相关推荐
JavaScript 世界时钟
JavaScript 数字时钟代码 function Time(){ if (!document.layers&&!document.all) return var Timer=new Date() var hours=Timer.getHours() var minutes=Timer.getMinutes() var seconds=Timer.getSeconds()...
javascript 12小时制时钟 javascript 12小时制时钟
网络特效-时钟日历,有50个例子,非常好的JavaScript资料。
用javascript写的时钟,挺具有代表意义的一个东西,其中好多方面还是比较好的
使用原生JavaScript控制的数字时钟,时钟采用背景图片的方法显示,一共含有29种样式,可以根据需要选择使用。
javascript动态时钟
实现时钟的动态改变,分针、秒针和时针图片切割的有些粗糙,所以有些地方会出现重叠的现象,但是大体原理上清晰明了,会在博客上进行说明
一个基于JavaScript的数字时钟,并且解决了时间在IE、Firefox中显示出现不同的问题。
javascript制作的时钟javascript制作的时钟
我个人编写的简单的javascript时钟 供初学朋友学习使用
主要为大家详细介绍了基于javascript实现动态时钟效果的相关资料,动态显示系统当前时间,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一个用javascript和html+div实现的时钟指示程序
用JavaScript创建超酷时钟背景特效
JavaScript开发一个时钟,涉及到及时 JavaScript,html,css,时钟,直接能用
纯JavaScript时钟.rar
用javascript写的练习脚本,代码很简单,适合初学者。
javascript背景时钟实现方法.docx
JavaScript Canvas绘制时钟
纯JavaScript时钟效果,可以直接在您的网页中直接引用。!!