代码改变世界

随笔分类 -  Javascript

Jscex没有xxxAsync().stop()怎么办?

2011-11-17 22:09 by 【当耐特】, 2620 阅读, 收藏, 编辑
摘要: 今天一同事问我Jscex怎么没有stop啊? 异步任务就像断线的风筝,我们没法让它说停就停,但是我们在放飞它之前,可以装个定时炸弹。 通常我们可以这样退出一个异步任务: va... 阅读全文

令人震撼的表白,你hold住吗?

2011-11-15 09:02 by 【当耐特】, 17284 阅读, 收藏, 编辑
摘要: 一.简介 为什么程序员单身的多呢?因为面向对象的编程中,经常会遇到一个错误:找不到对象。 本文也属于单身程序员的福音范畴,让单身程序员勇敢示爱·····,但是老天保佑你的示爱对象不要用IE678~~ 本文动画效果全部基于Jscex,然后结合一些函数、粒子系统、重力场实现。下一篇带来作品讲解,本篇先饱饱眼福。 二.作品一:心碎 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head& 阅读全文

爱♥曲线,单身程序猿福音

2011-11-07 08:41 by 【当耐特】, 10334 阅读, 收藏, 编辑
摘要: 一.笛卡尔♥ 笛卡尔(René Descartes)是17 世纪著名的法国哲学家、数学家,有着“现代哲学之父”的称号。笛卡尔对数学的贡献也是功不可没,他创造了解析几何,开创了数学、物理学、天文学、地质学等诸多学科的新时代。 传闻,笛卡尔曾流落到瑞典,邂逅美丽的瑞典公主克里斯蒂娜(Christina)。笛卡尔发现克里斯蒂娜公主聪明伶俐,便做起了 公主的数学老师, 于是两人完全沉浸在了数学的世界中。国王知道后,认为笛卡尔配不上自己的女儿,不但强行拆散他们,还没收了之后笛卡尔写给公主的所有信件。后来,笛卡尔染上黑死病,在临死前给公主寄去了最后一封信,信中只有一行字:r=a(1-sinθ)。 阅读全文

再说AutoComplete

2011-11-04 12:16 by 【当耐特】, 5393 阅读, 收藏, 编辑
摘要: 一.简述 昨天support一同事,帮她的客户做类似下面的效果(自动完成): 以前在搜房的时候,弄过这个,调用楼盘字典: 这是一个小功能,也是一个大功能。因为它可以做大,也可以做小。 二.搜房的AutoComplete 比如上面我们看到搜房的这个就做大了,你要看到这样一个效果,其实搜房做了这么几件事: 1.数据库作业。把每天的楼盘字典存入XML,每个城市的对应一个X... 阅读全文

2011-11-01 13:57 by 【当耐特】, 3883 阅读, 收藏, 编辑
摘要: 一.简介 圆锥,数学领域术语,有两种定义。 解析几何定义:圆锥面和一个截它的平面(满足交线为圆)组成的空间几何图形叫圆锥。 立体几何定义:以直角三角形的一条直角边所在直线为旋转轴,其余两边旋转形成的面所围成的旋转体叫做圆锥。该直角边叫圆锥的轴 。 二.圆锥模拟 通过以上两个定义,我可以模拟出圆锥上所有的点: var pointPositions = []; for (var i = -100; i < 200; i += 10) { var xTemp = getRandomNumber(-i, i); ... 阅读全文

WAVE

2011-10-31 10:53 by 【当耐特】, 3757 阅读, 收藏, 编辑
摘要: 一.简介 波,在空间以特定形式传播的物理量或物理量的扰动。由于是以特定的形式传播,这个物理量(或其扰动,下同)成为空间位置和时间的函数,而且是这样的函数,即在时间t出现在空间r处周围的分布,会在时间(t+t┡)出现在空间(r+vt┡)的周围。 v一般说是个常矢量,就是有关物理量(或其扰动)的传播速度。物理量函数称为波函数,数学上它是一个叫波动方程的在特定边界条件下的解。 物理定义:某一物理量的扰动或振动在空间逐点传递时形成的运动。不同形式的波虽然在产生机制、传播方式和与物质的相互作用等方面存在很大差别,但在传播时却表现出多方面的共性,可用相同的数学方法描述和处理。 二.实现 ... 阅读全文

每周优秀代码赏析系列【二】----Jif

2011-10-30 12:06 by 【当耐特】, 3412 阅读, 收藏, 编辑
摘要: 一.简介 Jif是一个轻量级的events,Jif提供了事件监听on、发送send和清空clear接口,我们可以为其扩展remove 等接口。 Jif也是观察者模式的一种优雅实现。 二.... 阅读全文

每周优秀代码赏析系列【一】----LINQ In Javascript

2011-10-20 19:49 by 【当耐特】, 7531 阅读, 收藏, 编辑
摘要: 一.LINQ简介 LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询... 阅读全文

世界上最短的时钟代码!更短的,有木有?

2011-10-16 09:15 by 【当耐特】, 15893 阅读, 收藏, 编辑
摘要: 一.简介Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。Processing.js提供了教学可视化的编程语言及运行环境。通过编写processing程序,教师可以将复杂的物理、化学、数学原理形象的展示给学生。比如绘制各种曲线图,波线,粒子,绘制分子结构,当然在生理卫生课上还可以绘制一群小蝌蚪在游泳等动态的图形。Processing.js是一个开放的编程... 阅读全文

javascript异步编程系列【十一】----HTML5 canvas编程入门游戏发布

2011-10-08 07:41 by 【当耐特】, 6466 阅读, 收藏, 编辑
摘要: 一.简介1976年,Gremlin平台推出了一款经典街机游戏Blockade。游戏中,两名玩家分别控制一个角色在屏幕上移动,所经之处砌起围栏。角色只能向左、右方向90度转弯,游戏目标保证让对方先撞上屏幕或围栏。 听起来有点复杂?其实就是下面这个样子: 基本上就是两条每走一步都会长大的贪吃蛇比谁后完蛋,玩家要做的就是避免撞上障碍物和越来越长的身体。更多照片、视频可以看 GamesDBase 的介绍。 Blockade 很受欢迎,类似的游戏先后出现在 Atari 2600、TRS-80、苹果 2 等早期游戏机、计算机上。但真正让这种游戏形式红遍全球的还是21年后随诺基亚手机走向世界的贪吃蛇游戏—— 阅读全文

HTML5实验室系列【目录】

2011-09-30 19:23 by 【当耐特】, 4160 阅读, 收藏, 编辑
摘要: 阅读全文

摄像机、投影、3D旋转、缩放

2011-09-23 08:18 by 【当耐特】, 20696 阅读, 收藏, 编辑
摘要: 简述3D效果分两种,一种是伪3D骨架,一种是3D实体.3D骨架:是通过大量的计算将3D世界中所有点投影到二维平面中。3D实体:通过摄像机向投影面发射射线与世界中的物体交汇,把与物体交汇点的颜色渲染到投影面(光线追踪的基础) 。本系列的所有演示都是3D骨架,非3D实体。本文将穿插图片、公式、代码、演示... 阅读全文

javascript异步编程系列【十】—Jscex+Easeljs制作坦克大战

2011-09-15 08:01 by 【当耐特】, 5523 阅读, 收藏, 编辑
摘要: 一.简介为了利用当今和未来的硬件,您可以对代码进行并行化,以将工作分摊在多个处理器上。 往往,并行化需要线程和锁的低级操作,但是Jscex不用,因为javascript这种解释型语言,仅仅需要一个线程来解释它,已其他线程无关,且不冲突!二.回顾上面介绍了一下Easeljs以及其优势,并且利用Easeljs+Jscex实现了坦克的右移以及开炮,但是还存在许多问题,比如移动不能开炮,开炮不能移动。这篇主要利用Jscex并行编程模型搭起游戏的基本框架,并且解决坦克的转弯和开火。三.架构设计昨天我仔细想了想,不管是任何东西,拆得越细就越好控制。如果使用Easeljs的tick(也就相当于Jscex的. 阅读全文

javascript异步编程系列【八】--Jscex版火拼俄罗斯

2011-09-09 07:13 by 【当耐特】, 6413 阅读, 收藏, 编辑
摘要: 一.简介俄罗斯方块(Tetris, 俄文:Тетрис)是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。 二.需求分析(完全按照QQ游戏的制作,如下图:)三.技术分析与实现1.方块位置定位解决方案:建立盒子... 阅读全文

javascript异步编程系列【七】----扫盲,我们为什么要用Jscex

2011-09-07 08:45 by 【当耐特】, 5946 阅读, 收藏, 编辑
摘要: 有人问我,不用Jscex是怎么把算法拆烂拆散的?为什么要用Jscex?为什么不用? 那么就从高中演讲冒泡培训说起吧··· 【冒泡排序】基本思想(以升序举例):§形象比喻:像水面冒泡一样每次从水底浮到水面.§具体而言:比较相邻的两个数据元素,反序则交换。经过一趟排序后,最小值元素移到最上位置,其他较小的元素也向最上端位置移动(一趟起泡) 。 §代码实现:对于有n个数据元素的数据序列,共需n-1趟排序... 阅读全文

javascript异步编程系列【六】----Jscex版愤怒的小鸟之冲锋陷阵鸟

2011-08-25 07:48 by 【当耐特】, 4622 阅读, 收藏, 编辑
摘要: 上一篇的的主角=红色小鸟:体型小,重量轻,进击弱,无殊效,可在迁移转变时祛除绿猪。 合适进击玻璃与木头,进击混凝土较弱。 黄色小鸟:体型较小,重量较轻,殊效为加快,应用进步击弱,应用掉队击中等。进击木头较强,进击玻璃与混凝土很弱。 对,没有错,它就这这篇文章的主角!   需求解析:冲锋陷阵鸟,在不点击加快的景象下,和红色小鸟样,当点击了加快按钮,X轴标的目标速度变成本来的3倍,Y轴标的目标变... 阅读全文

javascript异步编程系列【五】----Jscex制作愤怒的小鸟

2011-08-24 08:01 by 【当耐特】, 8645 阅读, 收藏, 编辑
摘要: Jscex真的能制作愤怒的小鸟?在我没有接触Jscex之前,我也不相信!但是只要解决了重力场运动和碰撞的两大物理问题,Jscex版的愤怒小鸟,那就是囊中之物。如果关注这个系列的话,在javascript异步编程系列【二】----Jscex模拟重力场与google苹果logo的比较中,模拟了苹果在重力场下的自由落体运动。那么我们可以轻松的帮它扩展一个水平方向上的速度.看效果请按: 可以看得出来,有点... 阅读全文

javascript异步编程系列【四】----Jscex+Jquery UI打造游戏力度条

2011-08-23 07:55 by 【当耐特】, 4729 阅读, 收藏, 编辑
摘要: 如果大家玩过桌球类游戏的话,对力度条的概念一定不会陌生,如下图:还有竖直方向上的力度条,如下图:其实,类似的条条无处不在!比如进游戏时候的进度条、魔兽世界里法师施法过程中读的条等等······引入jquery ui,我们可以轻松得到下面这个静止的力度条:html: <div class="progressbar" style="width: 20%"></div>js: $(function(){$(".progressbar").progressba 阅读全文

javascript异步编程系列【二】----自由落体

2011-08-19 07:49 by 【当耐特】, 6423 阅读, 收藏, 编辑
摘要: 重力场:地球重力作用的空间。在该空间中,每一点都有惟一的一个重力矢量与之相对应。各种网络游戏,不管是3D的还是第一视角的,或者横版游戏(如冒险岛),模拟一个重力场是必须的。先回顾一下谷歌在牛顿诞辰,logo换成了自由落体的苹果。<html><scriptlanguage="javascript">varh=0,v=1;window.setTimeout(aa,2000);functionaa(){vari=self.setInterval("bb()",25);}functionbb(){varf=document.getElem 阅读全文

javascript异步编程系列【一】----用Jscex画圆

2011-08-16 08:54 by 【当耐特】, 13690 阅读, 收藏, 编辑
摘要: 一.简介 关注老赵的jscex很久了,jscex利用eval(str)的无限可能,从“$async” 到“async”,从不支持if else等 到支持 if else等·,jscex正在不断完善和优化当中。jscex完全可以投入生产环境了··二.画圆 昨天讲完pi,今天来画圆吧! 在支持html5的浏览器中执行下面代码:<!DOCTYPEHTML><html><body><canvasid="myCanvas"width="480"height="300"sty 阅读全文