显示对象的像素级碰撞检测

mc2.gotoAndStop(1);

var bmd1 = new BitmapData(mc1.width, mc1.height, true, 0);

bmd1.draw(mc1);

var bmd2 = new BitmapData(mc2.width, mc2.height, true, 0);

bmd2.draw(mc2);

stage.addEventListener(Event.ENTER_FRAME,frameFunc);

function frameFunc(e:Event):void{

mc1.x=this.mouseX;

mc1.y=this.mouseY;

if(bmd1.hitTest(new Point(mc1.x, mc1.y), 0x55, bmd2, new Point(mc2.x, mc2.y))){

mc2.gotoAndStop(2);

}else{

mc2.gotoAndStop(1);

}

}

显示对象的像素级碰撞检测,布布扣,bubuko.com

时间: 2024-12-06 01:59:54

显示对象的像素级碰撞检测的相关文章

分享一位国外大牛写的不规则物体像素级碰撞检测算法及详解

最近在做一个有关投篮的小游戏,需要用到像素级碰撞检测,as3自带的hitTestObject显然无法满足需要.网上搜寻了一下,在9ria挖坟挖到两篇好文章: 分享一个超高效的不规则物体碰撞检测的类~~ [Lii]超高效的不规则物体碰撞检测<效率优化> 第一篇文章介绍了一位国外大牛写的不规则物体像素级碰撞检测算法,原理是用bitmap绘制两对象不透明区域,利用混合模式计算出两对象的相交区域. 第二篇文章则在该算法的基础上进行了效率的优化,原理是判断出两对象发生hitTestObject碰撞后,将

[ActionScript 3.0] 像素级碰撞检测

1 package 2 { 3 import flash.display.BitmapData; 4 import flash.display.BlendMode; 5 import flash.display.DisplayObject; 6 import flash.display.Sprite; 7 import flash.geom.ColorTransform; 8 import flash.geom.Matrix; 9 import flash.geom.Point; 10 impo

cocos2d-x像素级触摸处理

最近研究了一下像素级的触摸处理,有时候我们用一个不规则的图形作为一个按钮,这个不规则的图形是一张矩形的png图片,很可能图片的实际有效的显示内容只占整个png图片的很小一部分,剩下的大部分都是png图片的透明区域,我们想把这部分透明区域过滤掉,实现一个触摸到真实的内容才会有按钮响应的效果. 刚开始试图通过CCSprite直接获取到纹理的像素信息,但是cocos2d-x并没有给我们提供直接通过CCSprite获取像素信息的接口,研究了几个网上的Demo,发现通过使用RenderTexture重绘可

OpenCV中feature2D学习——亚像素级角点检测(cornerSubPix)

概述 除了利用Harris进行角点检测和利用Shi-Tomasi方法进行角点检测外,还可以使用cornerEigenValsAndVecs()函数和cornerMinEigenVal()函数自定义角点检测函数.如果对角点的精度有更高的要求,可以用cornerSubPix()函数将角点定位到子像素,从而取得亚像素级别的角点检测效果. cornerSubPix()函数 (1)函数原型 cornerSubPix()函数在角点检测中精确化角点位置,其函数原型如下: C++: void cornerSub

【HTML5 Canvas】计算元件/显示对象经过Matrix变换后在上级/舞台上的bounds(边界矩形rect)

如上图所示,这样的一个简单矩形,边界矩形是(x:-28, y:-35, width:152, height:128),这是在这个元件/显示对象自己的坐标空间的范围. 那么把这个放到父元件(舞台)中,再做一定变换.如下图所示,白色区域就是舞台,蓝色矩形中的白色十字架标记,就是世界坐标的(0,0)点.       在舞台这个世界坐标系中,边界区域又是什么呢?我们的目标就是计算下图中的红色区域. 其实算法,很简单,在放到舞台之前,在蓝色矩形自己的局部坐标系中,边界是(x:-28, y:-35, wid

AS3 调用gotoAndStop后,显示对象为null的解决方法

再使用flash制作UI资源时通常我们会在一个MC的不同帧中引入其他的MC(有可能引入的MC中还包含了MC),并为这些引入的MC设置实例名称.通过使用gotoAndStop到第几帧来引用里面的资源...可惜有的时候会报:引入的这个显示对象为null....这该如何是好呢?? 接下来就是我在使用FB与IDEA进行实际工作的时候找到的一些解决办法... 第一种: 有时候我们使用的已经是别人做好的UI...或者是自己通过反编译出来的UI... 用flash打开后导入IDEA中如果使用gotoAndSt

Erget 显示对象

核心显示类: 类 描述 DisplayObject 显示对象基类,所有显示对象均继承自此类 Bitmap 位图,用来显示图片 Shape 用来显示矢量图,可以使用其中的方法绘制矢量图形 TextField 文本类 BitmapText 位图文本类 DisplayObjectContainer 显示对象容器接口,所有显示对象容器均实现此接口 Sprite:DisplayObjectContainer 带有矢量绘制功能的显示容器 Stage:DisplayObjectContainer 舞台类 根节

AS3显示对象继承关系图(转)

要学好AS3,先得把继承关系搞清楚.下面就是AS3的继承关系 DisplayObject InteractiveObject              Bitmap Shape    Video     AVMIMovie    StaticText   MorpShape DisplayObjectContainer     SimpleButton    TextField Sprite                                Stage                

亚像素级角点定位

代码示例: #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace cv; using namespace std; #define WINDOW_NAME "Shi-Tom