`

createjs碰撞检测localToLocal的用法

 
阅读更多
<!DOCTYPE html>
<html>
<head>
	<title>EaselJS demo: localToLocal</title>
	<style type="text/css">
	body {
	margin: 0;
	padding: 7px;
	background-color: rgba(255,255,255,0);
	}

	canvas {
		border: solid 1px rgba(0,0,0,0.05);
	}
	</style>
	<script src="http://code.createjs.com/easeljs-0.7.0.min.js"></script>
	<script>
		var stage, arm;
		function init() {
			stage = new createjs.Stage("demoCanvas");
			
			target = stage.addChild(new createjs.Shape());
			target.graphics.beginFill("red").drawCircle(0,0,45)
				.beginFill("white").drawCircle(0,0,30)
				.beginFill("red").drawCircle(0,0,15);
			target.x = 100;
			target.y = 180;
			
			arm = stage.addChild(new createjs.Shape());
			arm.graphics
				.beginFill("black").drawRect(-2,-2,100,4)
				.beginFill("blue").drawCircle(100,0,30);
			arm.x = 180;
			arm.y = 100;
			
			createjs.Ticker.on("tick", tick);
		}
		
		function tick(event) {
			arm.rotation += 1;
			
			target.alpha = 0.2;
			var pt = arm.localToLocal(100, 0, target); // 传递的是红色小球圆心位置
			if (target.hitTest(pt.x, pt.y)) { target.alpha = 1; }
			
			stage.update(event);
		}
	</script>
</head>
<body onload="init();">
	<canvas id="demoCanvas" width="300" height="300">
		alternate content
	</canvas>
</body>
</html>

 我把圆放大了,速度减慢了,可以看到这样的现象:圆球和arm的圆球碰撞的时候,并没有变化,而是要到arm的圆球中心点和圆球碰撞时才变化。

这段代码可以证明一点,createjs中这种方法实现的碰撞检测,其实是在检测物体arm在100,0这个位置,转动起来跟物体target是否碰撞,并非是物体arm整个形状是否和target有碰撞。

分享到:
评论

相关推荐

    使用createJS编写的一款网页跑酷游戏

    开发者可能使用自定义算法或EaselJS提供的方法来实现这一功能,确保当角色碰到障碍物时游戏能够做出正确的响应。 8. **游戏状态管理**:游戏通常有多个状态,如加载、游戏开始、暂停、游戏结束等。开发者需要一个...

    createjs游戏源码

    使用这些源码学习时,可以参考 CreateJS 的官方文档,结合实际代码理解每个库的用法,同时也可以查找社区教程和示例,加深理解和应用。 总的来说,这个“createjs游戏源码”压缩包是一个宝贵的教育资源,对于想要...

    createjs中文网站点开源项目

    通过这个开源项目,开发者不仅可以学习 CreateJS 的基本用法,还可以深入了解其在实际项目中的应用。同时,参与项目的贡献,如提交改进、修复bug或增加本地化支持,也是提升自身技能和回馈社区的好机会。对于想要在...

    html5 createjs 流星雨效果

    2. **CreateJS EaselJS**:EaselJS是CreateJS库的一部分,它提供了一个基于DisplayObject的类层次结构,简化了在Canvas上操作图形的复杂性。例如,开发者可以创建一个`Shape`或`Bitmap`对象来表示流星,并通过`...

    HTML5 开发框架CreateJS

    在提供的压缩包中,“code”文件夹可能包含了使用CreateJS编写的示例代码,这有助于学习和理解如何实际应用这些库。而“doc”文件夹可能包含的是CreateJS的英文文档,虽然语言上可能有一定的阅读障碍,但它是深入...

    createjs-def, CreateJS工具包定义生成器.zip

    createjs-def, CreateJS工具包定义生成器 CreateJS工具包定义生成器从cc输出的Adobe Flash HTML5生成...Adobe ( 带CreateJS工具包的CS6 ) 允许你发布动画资产,以便与开放源码JS库一起使用,以创建丰富。交互式的HTML

    canvas看你有多色源码(包括简单方法和createjs两种)

    CreateJS方法的学习来源于极客学院的视频教程。 【描述】:这个项目的主要目标是检测用户在Canvas画布上选择的颜色,并通过某种形式展示出来,以此“看你有多色”,即测试用户的色彩感知能力。在简单的JavaScript...

    createjs源码

    createjs源码,包括EaseJS、TweenJS、SoundJS和PreloadJS

    createjs库

    CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎。

    Createjs压缩版

    createjs压缩版,包括EaselJS、TweenJS、SoundJS、PreloadJS

    html5 createjs

    这个包很可能包含了使用CreateJS创建的游戏代码、图片、音频等素材,以及相关的教学文档。开发者可以通过研究这些文件,学习如何使用CreateJS与HTML5的Canvas API来构建自己的游戏。 在实际开发中,首先需要在HTML...

    CreateJS开发框架 - HTML5游戏开发引擎

    CreateJS是众多html5开发框架之一 有EaselJS PreloadJS SoundJS TweenJS等文档说明和源码 CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎。

    Apress.Beginning.HTML5.Games.with.CreateJS

    6. **游戏架构**: 本书将介绍如何使用CreateJS构建游戏的基本架构,包括游戏循环、碰撞检测、游戏状态管理(如开始、暂停、结束状态)以及游戏对象的创建和更新。 7. **交互和事件处理**: HTML5和CreateJS提供了...

    createjs.min.js

    createjs-2015.05.21.min.js

    createjs 游戏引擎开发的泡泡龙游戏.zip

    通过这个项目,开发者可以学习到如何使用CreateJS创建游戏对象、管理游戏循环、处理用户输入、实现物理模拟(如泡泡下落)、实现碰撞检测、动态加载资源以及优化性能。此外,还可以了解到如何整合音频和图形,以及...

    基于CreateJS框架的H5轻互动游戏的横屏适配插件

    此插件可能会使用CSS3媒体查询来检测设备的横屏状态,并通过JavaScript进行响应式布局调整。同时,它可能包含自动缩放功能,确保游戏内容在不同分辨率的屏幕上都能正确显示。 3. **JavaScript开发中的横屏处理**: ...

    Apress.Beginning.HTML5.Games.with.CreateJS 源码+pdf

    读者将学习如何规划游戏逻辑,编写游戏循环,管理游戏状态,以及如何实现游戏对象的碰撞检测。此外,还会涉及到游戏性能优化和调试技巧,以确保游戏运行流畅且易于维护。 在阅读《Apress.Beginning....

    JavaScript游戏和动画开发包CreateJS.zip

    CreateJS 是一个完整的 JavaScript 游戏和动画开发包,包括:EaselJs, TweenJS, SoundJS, PreloadJS and Zoe。 标签:CreateJS

    createjs.js 前台资源下载

    前台资源下载。方便安全无分。很容易的下载使用方便

Global site tag (gtag.js) - Google Analytics