世界上最短的时钟代码!更短的,有木有?
来源:互联网 发布:淘宝店铺怎么卖话费 编辑:程序博客网 时间:2024/06/08 18:59
一.简介 Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。 Processing.js提供了教学可视化的编程语言及运行环境。通过编写processing程序,教师可以将复杂的物理、化学、数学…
一.简介
Processing.js作者是John Resig,这是继Jquery之后,他的第二个力作。
Processing.js提供了教学可视化的编程语言及运行环境。通过编写processing程序,教师可以将复杂的物理、化学、数学原理形象的展示给学生。比如绘制各种曲线图,波线,粒子,绘制分子结构,当然在生理卫生课上还可以绘制一群小蝌蚪在游泳等动态的图形。
Processing.js是一个开放的编程语言,在不使用Flash或Java小程序的前提下, 可以实现程序图像、动画和互动的应用。
Processing.js使用JavaScript绘制形状sharp和操作HTML5 canvas元素产生图像动画。
Processing.js是轻量,易于了解掌握,并提出一个理想的工具,可视化的数据,创建用户界面和开发基于Web的游戏。
二.核心函数
JavaScript Code复制内容到剪贴板
- // Global variables 全局变量
- int radius = 50.0;
- int X, Y;
- int nX, nY;
- int delay = 16;
- // Setup the Processing Canvas初始化设置
- void setup(){
- size( 200, 200 );
- strokeWeight( 10 );
- frameRate( 15 );
- X = width / 2;
- Y = width / 2;
- nX = X;
- nY = Y;
- }
- // Main draw loop 主要绘画函数功能
- void draw(){
- radius = radius + sin( frameCount / 4 );
- // Track circle to new destination
- X+=(nX-X)/delay;
- Y+=(nY-Y)/delay;
- // Fill canvas grey
- background( 100 );
- // Set fill-color to blue
- fill( 0, 121, 184 );
- // Set stroke-color white
- stroke(255);
- // Draw circle
- ellipse( X, Y, radius, radius );
- }
- // Set circle's next destination 当用户鼠标在 Canvas移动时产生的action
- void mouseMoved(){
- nX = mouseX;
- nY = mouseY;
- }
三.世界最短的时钟代码诞生
JavaScript Code复制内容到剪贴板
- void draw() {
- size(200, 200);background(0); fill(80); noStroke(); ellipse(100, 100, 160, 160); stroke(255);
- line(100, 100, cos( TWO_PI*second()/60- HALF_PI) * 70 + 100, sin(TWO_PI*second()/60- HALF_PI) * 70 + 100);
- line(100, 100, cos( TWO_PI*minute()/60- HALF_PI) * 60 + 100, sin(TWO_PI*minute()/60- HALF_PI) * 60 + 100);
- line(100, 100, cos(TWO_PI*(hour()%12)/12- HALF_PI) * 50 + 100, sin(TWO_PI*(hour()%12)/12- HALF_PI) * 50 + 100);
- }
可以看得出,代码语意化非常强,一个圆,三条线,这也是这个框架所要达到的目的之一。
四.完整代码
XML/HTML Code复制内容到剪贴板
- 01
- <!DOCTYPE html>
- <html>
- <head>
- <body>
- <script src="http://files.cnblogs.com/iamzhanglei/processing.js" type="text/javascript"></script>
- <script type="application/processing">
- void draw() {
- size(200, 200);background(0); fill(80); noStroke(); ellipse(100, 100, 160, 160); stroke(255);
- line(100, 100, cos( TWO_PI*second()/60- HALF_PI) * 70 + 100, sin(TWO_PI*second()/60- HALF_PI) * 70 + 100);
- line(100, 100, cos( TWO_PI*minute()/60- HALF_PI) * 60 + 100, sin(TWO_PI*minute()/60- HALF_PI) * 60 + 100);
- line(100, 100, cos(TWO_PI*(hour()%12)/12- HALF_PI) * 50 + 100, sin(TWO_PI*(hour()%12)/12- HALF_PI) * 50 + 100);
- }
- </script>
- <canvas>你的浏览器不支持HTML5,请使用谷歌、IE9或者火狐浏览器··</canvas>
- </body>
- </html>
- 世界上最短的时钟代码!更短的,有木有?
- 世界上最短的时钟代码!更短的,有木有?
- 世界上最短的数字判断代码
- 世界上最短的数字判断代码
- 世界上最短的小说
- 世界上最短的病毒
- 世界上最短的DVD解码程序
- 世界上最贵的一行代码
- 最简洁的JS时钟代码
- 最短的判断IE的代码
- 世界上最短的一本书:关于"缺陷"和"满足"的寓言
- “世界上最复杂的邮件”(javamail API 代码)
- [转]最短的拖动代码
- 字符串翻转的最短代码实现
- 最短路径 简单的代码
- 迷宫的最短路径 代码(C++)
- 一个整数反转的最短代码
- JavaScript异步编程之:改造世界上最短的Promise库。。。
- Google Android开发精华教程
- hdu 1894 String Compare 还蛮不错的题目 STL 中的string应用
- gridview 编辑,删除,更新的用法
- MaNGOS 下载,编译,配置和运行的基本步骤
- 优秀程序员和一般程序员差别在哪?
- 世界上最短的时钟代码!更短的,有木有?
- 解决循环引用的一个例子
- Android SQLite总结(一)
- Android自定义属性
- flex中使用RemoteObject与java通信(使用AS实现)
- silverlight开发实例(Prism+MVVM+RIA)(五)--View及ViewModel间通信
- 排序算法-shell排序-改良的插入排序
- XAF之Servermode注意
- #ifndef 和#define 在C++中什么意思?