`
cxy020
  • 浏览: 63603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

htmt5-3 动起来

阅读更多
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />


<title>My first Game</title>

<style type="text/css">
body {
	border:none 0px;
	margin:0px;
	padding:10px;
	font-size : 16px;
	background-color : #f3f3f3;
}

canvas {
	border : 1px solid blue; 
}
</style>


<script type="text/javascript">
function loadImage(imglist,callback){
	var imgs = {};
	var count = imglist.length;
	var loadedcount = 0;
	
	for(var i=0; i<count; i++){
		var img = imglist[i];
		var image = imgs[img.id] = new Image();
		image.src = img.url;
		image.onload = function(evt){
			loadedcount++;
		}
	}
	
	if(typeof callback == "function"){
		var t = this;
		function check(){
			if(loadedcount >= count){
				callback.apply(t,arguments);
			}
			else{
				setTimeout(check,100);
			}
		}
		check();
	}
	return imgs;
}

var imgcache = null;
var canvas = null;
var context = null;

function init(){
	canvas = document.createElement("canvas");
	canvas.width = 600;
	canvas.height = 400;
	document.body.appendChild(canvas);
	
	context = canvas.getContext("2d");
	
	var imgs = [
		{id:"player",url:"../res/player.png"},
		{id:"bg",url:"../res/bg.png"}
	];
	
	imgcache = loadImage(imgs,startDemo);
};

function startDemo(){

	var fps=30;
	var sleep = Math.floor(1000/fps);//每秒循环30次(动画的肉眼效果每秒30针就能流畅的播放)
	
	var img = imgcache["player"];
	
	//初始坐标
	var x=0,y=284;
	
	//移动速度
	var speedx = 65/1000, speedy = -45/1000;//每秒往 x 正方向移动65px, y 反方向移动45px
	
	var minx=0,maxx=500,miny=0,maxy=284;
	
	var mainloop = setInterval(function(){
		var deltatime = sleep;
		
                  //每次循环,改变一下绘制的坐标. 
		x = x+speedx*deltatime;//向右移动
		y = y+speedy*deltatime;//向上移动 就是top值 在减少
		
		//限定移动范围
		x = Math.max(minx,Math.min(x,maxx));
		y = Math.max(miny,Math.min(y,maxy));
		
		context.drawImage(imgcache["bg"],0,0);//使用背景覆盖的方式 清空之前绘制的图片
		
		var sx=0,sy=60,sw=50,sh=60;
		context.drawImage(img,sx,sy,sw,sh,Math.floor(x),Math.floor(y),sw,sh);
	},sleep);
};
</script>

</head> 
<body onload="init()"> 


</body> 
</html>


思路很简单 使用setInterval 不停的去改变 图片的位置
值得注意的是 每次都需要清空背景图片
分享到:
评论

相关推荐

    ckeditor-html5-video:CKEditorHTML5视频插件

    ckeditor-html5-video 介绍 ckeditor-html5-video是CKEditor的简单HTML5视频插件,是转换版本。 如果要手动添加插件,则需要: 将html5video文件夹解压缩到CKEditor安装的plugins文件夹中。 例子: ...

    CKEditor添加HTML5 Video插件的方法

    这个插件允许插入和编辑新的HTML5&lt;video&gt;元素。该对话框允许指定的海报图像,尺寸(他们是根据预览自动调整)和两个源文件,这样既使用了WebM格式(Chrome浏览器,Firefox和Opera),并且只支持H264的那些...

    CKEditor 添加Video插件(MP4)并且兼容HTML5 Video插件,完美运行

    3. **MP4支持**:HTML5 Video标签支持多种视频格式,包括MP4、WebM和Ogg。由于MP4在大多数浏览器中都有良好的兼容性,我们将主要关注这一格式。在CKEditor中插入视频时,需要确保视频文件是MP4格式。同时,你需要在...

    HTML5 制作的十种手机侧滑效果集.rar

    HTML5结合jQuery插件实现了十种手机侧滑效果,包括了TOP SIDE SIDE SLIDE CORNER BOX NESTED CORNER BOX TOP EXPAND CORNER MORPH ELASTIC BUBBLE WAVE等多种样式,从展现形式上来看,包括了中间滑动,上下滑动,...

    computing-system-and-program-.zip_computing

    1. **HTMT va NNC chapter 5.pdf**:第五章可能探讨的是计算机系统的一个特定主题,比如操作系统、内存管理或者处理器架构。 2. **HTMT va NNC chapter 1.pdf**:通常第一章会介绍基础概念,可能包括计算机历史、...

    css+htmt+js使用原生js实现用户登录窗口的关闭打开与移动源代码

    在网页开发中,创建一个可交互的用户登录窗口是常见的需求。...在这个过程中,开发者可以学习到如何控制元素的显示与隐藏,以及如何实现元素在页面上的动态移动。下面我们将详细探讨这三个方面的知识点。...

    01_添加删除渲染.html

    01_添加删除渲染.html

    223_www.dowebok.com.zip

    媒体查询(Media Queries)是CSS3的一部分,用于根据设备特性应用不同的样式规则。可以使用媒体查询为特定屏幕尺寸设置图片的放大效果,以优化不同设备的用户体验。 8. **Web性能优化**: 当图片放大时,加载大...

    Win7 下支持MP4、Flash播放的CEF,cefsharp实现,俗称浏览器壳 49

    如果你的需求环境支持 Windows 10 建议使用更高版本的CEF,49 和 84 在 [HTMT5TEST] 的整体得分分别为 478 和 466,虽然总分让人意外但是细看下面的支持项 尤其在 javascript 支持上来看,还是新版本的支持的比较好...

    Win7 下支持MP4、Flash播放的CEF,cefsharp实现,俗称浏览器壳

    如果你的需求环境支持 Windows 10 建议使用更高版本的CEF,49 和 84 在 [HTMT5TEST](https://www.html5test.com) 的整体得分分别为 478 和 466,虽然总分让人意外但是细看下面的支持项 尤其在 javascript 支持上来看...

    苹果cmsv10首涂20套超强seo修改版.rar

    3、新增资讯模块 4、新增评论模块 5、新增会员模块 6、新增首页换一换功能 7、新增首页资讯显示 8、新增首页专题显示 9、新增首页公告显示 10、修改导航样式,原来的太丑了。 11、修改轮播图样式。 12、...

    pls_graph使用手册

    - **HTMT比值**:Henseler等人的方法,要求不同构念之间的HTMT比值低于某个阈值,通常为0.90。 #### 三、PLS-Graph操作指南 ##### 3.1 安装与启动 - **安装**: 下载PLS-Graph软件并按照安装向导的指示进行安装。...

    黑色个人简历html网站模板

    ... ... 描述中的“黑色”强调了模板的整体视觉风格,通常黑色给人以专业、简洁和高端的印象,适合展示个人的专业能力和品牌形象。个人简历网站是求职者展示自己经历、技能和成就的一个在线平台,一个设计精良的黑色模板...

    详解HTML&CSS;&JavaScript;语法辞典-(专业版) (半场方人)【PDF】

    这是一本详细讲解HTMT+CSS+JavaScript语法词典,是读者学习网页编程技术的必备参考书。书中详细讲解了超文本标记语言(HyperText Markup Language 4.01)中各种标记的使用方法、层叠样式表(Cascading Style Sheets...

    OfflineBrowser:用于离线查看 HTML 页面的 Android 应用

    离线浏览器 作者 诺兰劳森 执照 ,虽然归属会很好。 概述 默认的 Android 浏览器目前... 我需要一个可以的应用程序,所以我写了这个。 ... 这个应用程序非常简单,几乎没有任何功能。 如果您想让它变得更好,请分叉它!

    HTML中实现鼠标经停时整行(tr)变色

    例如,一些旧版的浏览器可能不支持某些CSS3属性或有兼容性问题。因此,开发者可能需要额外编写一些规则来确保在不同环境下都有良好的用户体验。 最后,为了提高代码的可读性和可维护性,建议将CSS代码放到单独的...

    理发店所有:Парикмахерская

    Проектсостоитиз3-ехстраницindex.htmt,photo.html,form.html。 Используется: Flexbox布局。 自适应设计: 移动版(最小宽度:320像素) 平板电脑(最小宽度:768像素...

    超声聚焦刀学习教案.pptx

    这项技术自1999年问世以来,已经在88个国家和地区得到应用,包括世界知名医疗机构如英国牛津大学邱吉尔医院、欧洲肿瘤研究所、西班牙HTMT医院、日本千叶医院、香港大学玛丽医院等,累计治疗了超过44万例肿瘤患者。...

Global site tag (gtag.js) - Google Analytics