HTML5-黑客帝国2D

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
canvas{
display: block;
}
</style>
</head>

<body>
<canvas id="canvas"></canvas>
<script>
function $(id){
return document.getElementById(id);
}
//画布 的大小设置
var mywindow=window.screen;
var canvas=$("canvas");
canvas.width=mywindow.width;
canvas.height=mywindow.height;

//要输出的信息
var str="0123456789";
str=str.split("");
var fontSize=16;//输出字体的大小
//每列显示多少个信息
var cols=canvas.width/fontSize;
//数组,统计下落的位置
var drops=[];
for(var i=0;i<cols;i++){
drops[i]=1;
}
//
var ctx=canvas.getContext("2d");
function draw(){
/**
*这的黑客帝国:
* 获取页面的 大小 包括宽度和高度
* 用cols获取能够宽度加载列数
* drops加载每一列的位置
* drops[2]=10 2为第二排的 top为10
*/
ctx.fillStyle="rgba(0,0,0,0.05)";
ctx.fillRect(0,0,canvas.width,canvas.height);

ctx.fillStyle="green";
ctx.font=fontSize+"px arial";
for(var i=0;i<cols;i++){

var text=str[ Math.floor( Math.random() * (str.length) ) ];
// console.info("x-"+i*fontSize);
// console.info("y-"+drops[i]*fontSize);
ctx.fillText(text,i*fontSize,drops[i]*fontSize);
if(drops[i]*fontSize > canvas.height || Math.random() > 0.95)
drops[i] = 0;//把位置恢复到最上面
//控制下落的位置
drops[i]++;
}
}
setInterval(draw,33);
</script>
</body>

</html>

时间: 2024-08-28 07:07:12

HTML5-黑客帝国2D的相关文章

赠书:HTML5 Canvas 2d 编程必读的两本经典

赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide(斧子演示,www.axeslide.com).在这个领域也积累了一些 经验,希望有机会和大家分享.今天是要给大家推荐两本这方面的书,同时会送一本书给大家. 要介绍的第一本书是我学习Canvas开发的入门书——<HTML5 Canvas核心技术:图形.动画与游戏开发>. 此书作者David Gear

HTML5之2D物理引擎 Box2D for javascript Games 系列 翻外篇--如何结合createJS应用box2d.js

太久没有更新了,新年回来工作,突然有收到网友的邮件提问,居然还有人在关注,惭愧,找了下电脑上还有一点儿存着,顺便先发这一个番外篇吧,好歹可以看到真实的效果,等我考完英语,一定会更新下一章,"愤怒的小鸟篇" 此篇,并不是书中的篇符,而是通过希望通过结合实际的canvas 绘图库实现box2d物理引擎在各绘图库上应用,绘图库网上有很多现成的 如:createjs, pixi.js 等,Egret或者其它游戏引擎有自己的物理引擎扩展库,所以就不说了. 现在通过之前的学习,基本掌握了刚体等基础

HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画

SVG支持动画.可以通过以下几种方法获得动画效果: 使用SVG动画元素.SVG可以描述随时间变化的图形对象,使用不同的动画元素可以定义运动路径,淡入淡出效果和对象的膨胀.收缩.旋转和变换颜色. 使用SVG DOM.SVG DOM兼容DOM1和DOM2,而SVG又定义了一套附加的DOM接口,支持脚本动画.通过这个方法可以获得各种动画效果.脚本语言中的定时器对象可以用来启动和控制动画. SVG被设计为支持未来版本的SMIL(Sychronized Multimedia Integration Lan

HTML5之2D物理引擎 Box2D for javascript Games 系列 第二部分

这是系列第二部分,之前部分在本博客中找 源码demo存放在https://github.com/willian12345/Box2D-for-Javascript-Games 向世界添加刚体 刚体(Bodies)是我们用Box2D创建物理游戏的重要对象.任何你可以移动的或交互 的对象都是刚体(Bodies). 愤怒的小鸟(Angry Birds)中创建的小鸟和小猪是刚 体,同样在图腾破坏者(Totem Destroyer)中的黄金神像和图腾砖块也是刚体. 本章将带你学习创建各种类型的Box2D刚

无插件纯Web 3D机房,HTML5+WebGL倾力打造

前言 最近项目开发任务告一段落,刚好有时间整理这大半年的一些成果.使用html5时间还不久,对js的认识还不够深入.没办法,以前一直搞java,对js的一些语言特性和概念一时还转换不过来. 上一篇介绍了项目中做的一个彩虹爆炸图,主要用了 html5的canvas的2d绘制技术.这一回我想介绍一下项目中的一个亮点技术:html5的3D,以及如何用它打造精美的3D机房监控系统. 目标效果图 下图是客户给找的一张的效果参考图,希望机房至少能达到下面的3D效果. 懂的人都知道,这可是一张设计公司出的装修

50个最受网友欢迎的HTML5资源下载列表

完整附件下载地址:http://down.51cto.com/data/413867 附件预览: HTML 5游戏源码精选(共含9个游戏源码) http://down.51cto.com/zt/227 15个HTML5入门经典资料合集 http://down.51cto.com/zt/553 HTML 5基础入门学习教程 http://down.51cto.com/zt/234 初学者必知的HTML5入门级技巧[技术文档]下载 http://down.51cto.com/data/297883

基于HTML5实现的Heatmap热图3D应用

Heatmap热图通过众多数据点信息,汇聚成直观可视化颜色效果,热图已广泛被应用于气象预报.医疗成像.机房温度监控等行业,甚至应用于竞技体育领域的数据分析. 已有众多文章分享了生成Heatmap热图原理,可参考<How to make heat maps>和<How to make heat maps in Flex>,本文将介绍基于HTML5技术的实现方式,主要基于Cavans和WebGL这两种HTML5的2D和3D技术的应用,先上最终例子实现的界面效果和操作视频: 实现Heat

HTML5 canvas之基础篇(一)

一.检测浏览器是否支持canvas if( !canvas || !canvas.getContext){ return; } 也可以使用modernizr.js库,Modernizr是一个易用的轻量级库,可以检测各种web技术的支持情况. 二.canvas的属性 主要属性: id:id在Javascript代码中用来指定特定的<canvas>标签的名字: width:画布的宽度,以像素为单位: height:画布的高度,以像素为单位. 其他属性:tableindex,  title,  cl

HTML5,不只是看上去很美(第二弹:打造最美3D机房)

前言 最近项目开发任务告一段落,刚好有时间整理这大半年的一些成果.使用html5时间还不久,对js的认识还不够深入.没办法,以前一直搞java,对js的一些语言特性和概念一时还转换不过来. 上一篇第一弹介绍了项目中做的一个彩虹爆炸图,主要用了 html5的canvas的2d绘制技术.这一回我想介绍一下项目中的一个亮点技术:html5的3D,以及如何用它打造精美的3D机房监控系统. 目标效果图 下图是客户给找的一张的效果参考图,希望机房至少能达到下面的3D效果. 这里写图片描述 懂的人都知道,这可

我想学HTML5,请问从哪开始?

基础是的先学好HTML.CSS ,Javascript ,jQuery. 其中HTML5主要是要HTML控件+Javascript的脚本程序. 建议先去学好Html CSS和JavaScript(通常是一起的),然后再看HTML5.这类书籍还是很多的,而且大都大同小异. 重要的是Html5 有2D 绘图的 Canvas 对象 非常炫 我认为学习html5需要先了解什么是HTML开始 HTML 是超文本 而这个文本网页是W3C规范的 了解了之后 从HTML的基础开始学,不要一开始就学习HTML5