`
ihuashao
  • 浏览: 4720603 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

像素级的碰撞测试

 
阅读更多

var tx, ty;
mc1.buttonMode = true;
mc1.addEventListener("mouseDown", mousedownHandler);
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);

function mousedownHandler(e){
tx = e.stageX - mc1.x;
ty = e.stageY - mc1.y;
stage.addEventListener("mouseMove", mousemoveHandler);
stage.addEventListener("mouseUp", mouseupHandler);
}

function mousemoveHandler(e){
mc1.x = e.stageX - tx;
mc1.y = e.stageY - ty;
if(bmd1.hitTest(new Point(mc1.x, mc1.y), 0x55, bmd2, new Point(mc2.x, mc2.y))){
mc2.gotoAndStop(2);
}else{
mc2.gotoAndStop(1);
}
}

function mouseupHandler(e){
stage.removeEventListener("mouseMove", mousemoveHandler);
stage.removeEventListener("mouseUp", mouseupHandler);
}

分享到:
评论

相关推荐

    碰撞测试(简单小游戏)

    2. **像素级精确碰撞检测**:对于更复杂、不规则形状的对象,可以使用像素级碰撞检测。这通常涉及将对象的图像转换为位图数据,然后比较两者的像素差异。AS3的`BitmapData`类提供了`hitTest()`方法,可以用于这种...

    flash飞机碰撞演示

    常见的碰撞检测方法有矩形碰撞、像素级碰撞等。对于简单形状如矩形,可以使用重叠面积检测;对于复杂形状,可能需要更复杂的算法,如分离轴定理(SAT)。在本项目中,由于是飞机碰撞,可能采用的是简化版的矩形碰撞...

    蘑菇游戏_熊碰撞边界处理

    4. **像素级碰撞检测**:对于低多边形或者像素艺术风格的游戏,可以逐像素比较颜色信息来检测碰撞。 边界处理则是在检测到碰撞后采取的行动,通常包括以下几种策略: 1. **反弹**:让碰撞的物体按照物理规则反向...

    A12_碰撞检测mouse

    对于简单的形状,我们可以直接使用几何算法来判断碰撞,如点在矩形内的测试或点到圆心的距离与半径的比较。对于复杂形状,可能需要使用更高级的方法,如分离轴定理(Separating Axis Theorem)或基于图形的碰撞检测...

    应用源码之(Region碰撞检测).zip

    - **像素级碰撞**:对于复杂形状,可能需要遍历每个像素进行比较,效率较低但精确。 - **轴对齐边界框(AABB)**:快速近似检测,先比较矩形边界,如果相交再进行精细检测。 - **旋转边界框(OBB)**:考虑对象的...

    小球碰撞-微机原理课程设计

    完成程序后,学生需要进行详细的测试,确保小球的运动轨迹正确,碰撞效果逼真,声音播放无误,同时程序应具有良好的稳定性和可重复性。这可能涉及到编写测试用例,检查不同边界条件下的程序行为。 8. **文档编写**...

    碰撞测试

    p5.play库提供了一套完整的碰撞检测API,可以处理不同类型的碰撞,比如像素级精确碰撞、矩形与矩形之间的碰撞、圆形与圆形的碰撞等。这些函数可以帮助开发者轻松地检测游戏对象之间的碰撞,并据此触发相应的事件,如...

    3D游戏中常用算法 如碰撞检测 A* 四叉树 BSP分割树 地形LOD等等

    这种方法使得碰撞检测、可见性测试和渲染加速变得更为高效。BSP树在实时渲染和多玩家游戏中特别有用,因为它能快速确定哪些物体在相机视野内。 5. **地形LOD(细节层次)**:在大型3D环境中,LOD技术用于动态调整...

    高级教程ActionScript_3.0_CN

    此外,还介绍了基于网格的碰撞检测,包括编写网格代码、测试和调整、整理成可复用的类,并讨论了碰撞检测的其他用途。 2. **转向行为**:这部分主要探讨了在2D空间中物体的智能行为,如使用向量(Vector2D)类来实现...

    基于c++,opengl的碰撞游戏.zip

    10. **调试与测试**: 游戏开发过程中,调试和测试是必不可少的,开发者需要利用断点、日志、性能分析工具等手段找出并修复问题,确保游戏的稳定性和正确性。 综上所述,这个项目涵盖了从基本编程语言到高级图形渲染...

    PyPI 官网下载 | pygame_colliders-0.1.2-py3-none-any.whl

    1. **定义碰撞形状**:支持基本形状如矩形和圆形,也可以自定义复杂的形状,通过像素级碰撞检测来确保精确性。 2. **检测碰撞**:库提供了一组函数,用于检测两个或多个对象之间是否发生碰撞,以及碰撞的位置和程度...

    android开发的飞机小游戏

    4. **碰撞检测**:游戏中的碰撞检测是关键,可以通过矩形碰撞、像素级碰撞等方法实现。矩形碰撞检测简单快速,适用于大部分情况;像素级碰撞检测更精确,但计算量较大,适合对碰撞效果有高要求的场景。 5. **用户...

    js打飞机测试版

    在JS打飞机中,一般会采用矩形碰撞检测或者像素级精确碰撞检测。矩形检测简单快速,适合大部分场景;而像素级检测则更为准确,但计算量较大。开发者可以根据游戏需求选择合适的检测方式。 游戏中的动画效果,如飞机...

    纯js模仿微信打飞机游戏代码(已测试).zip

    可以采用矩形碰撞检测(如轴对齐边界框,AABB)或者更精确的像素级碰撞检测算法。在飞机大战游戏中,主要关注飞机、子弹和敌机之间的碰撞。 7. 数组和循环:数组常用于存储游戏中的多个对象,如飞机队列、子弹数组...

    JAVA泡泡堂网络游戏的设计与实现.zip

    可以使用矩形碰撞检测或者更精确的像素级碰撞检测方法。此外,游戏规则的实现,如泡泡爆炸的连锁反应、时间限制和得分计算,也需要编写相应的逻辑代码。 图形用户界面(GUI)的设计同样重要。Java Swing或JavaFX库...

    【h5游戏之flappytext】

    FlappyText可能采用了简单的几何碰撞检测方法,例如矩形碰撞或像素级碰撞检测。 7. 用户交互:游戏需要响应用户的输入,比如点击屏幕使角色上升。这通常通过监听事件,然后调整角色的运动状态来实现。 8. 数据存储...

    趣味测试小游戏

    这是一款经典的像素级游戏,它的核心算法是基于二维数组的移动和碰撞检测。通过编写这个游戏,你可以学习到基本的循环控制、条件判断、坐标系统以及对象状态管理等基础知识。如果源码使用了面向对象编程,那么还可以...

Global site tag (gtag.js) - Google Analytics