本文介绍as3如何检测两个元件的碰撞,
下面的代码经过本人测试可用,
首先在场景中放入两个影片剪辑mc1和mc2
在as面板中放入下面代码:
mc1.addEventListener(Event.ENTER_FRAME,MCMoveEvent); 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 MCMoveEvent(e:Event):void{ mc1.x-=0.5; if(bmd1.hitTest(new Point(mc1.x-1, mc1.y), 0x55, bmd2, new Point(mc2.x, mc2.y))){ mc2.gotoAndStop(2); mc1.removeEventListener(Event.ENTER_FRAME,MCMoveEvent); }else{ mc2.gotoAndStop(1); } }
通过上面的代码,你可以看出actionscript碰撞主要是由hitTest函数实现的,在if条件中你可以写入碰撞成功后的业务逻辑操作。
本文由PHP中文网提供,
文章地址:http://www.php.cn/java-article-377122.html
学编程就来PHP中文网 www.php.cn
Atas ialah kandungan terperinci Actionscript3检测两个影片剪辑元件碰撞功能的实现代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!