flash as3中类文件和舞台中元件实例的接触
下面是一个类文件的代码:package{importflash.display.*;importflash.utils.*;importflash.events.*;pu...
下面是一个类文件的代码:
package {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
public class lx1 extends Sprite {
public var speed:Number;
public var sz:Array=[];
public var pz_mc:Sprite
public function lx1() {
init();
}
function init() {
var sj:Timer=new Timer(1000);
sj.start();
sj.addEventListener(TimerEvent.TIMER,sjhs);
}
function sjhs(event:TimerEvent) {
speed=Math.random()*3+3;
var xh:Sprite=new Sprite();
xh.graphics.beginFill(Math.random()*0xFFFF);
xh.graphics.drawCircle(0,0,4);
addChild(xh);
xh.x=Math.random()*400;
xh.y=Math.random()*300;
sz.push(xh);
// trace(sz.length);
cf();
}
function cf() {
for each (var xh_mc:Sprite in sz) {
xh_mc.addEventListener(Event.ENTER_FRAME,cfhs);
}
}
function cfhs(e) {
var xh_mc:Sprite=e.target as Sprite;
xh_mc.y+=speed;
/*if (xh_mc.hitTestObject(parent.pz_mc)) {
trace(22);
}*/我想在这舞台上建一个影片剪辑!该影片剪辑的实例名称为pz_mc然后测试其碰撞!应该怎么写?让xh_mc怎么和舞台上的元件进行碰撞检测?
}
}
}
}*/我想在这舞台上建一个影片剪辑!该影片剪辑的实例名称为pz_mc然后测试其碰撞!应该怎么写?让xh_mc怎么和舞台上的元件进行碰撞检测?
自己写的类文件怎么实现和舞台上的元件接触?
在自己写的类文件中怎么添加或者实现和其他类文件中写的实力结合!比如我在一个类文件中定义一个圆形实力!在另一个类文件中定义一个方块实例!检测两者间的碰撞问题?该怎么写? 展开
package {
import flash.display.*;
import flash.utils.*;
import flash.events.*;
public class lx1 extends Sprite {
public var speed:Number;
public var sz:Array=[];
public var pz_mc:Sprite
public function lx1() {
init();
}
function init() {
var sj:Timer=new Timer(1000);
sj.start();
sj.addEventListener(TimerEvent.TIMER,sjhs);
}
function sjhs(event:TimerEvent) {
speed=Math.random()*3+3;
var xh:Sprite=new Sprite();
xh.graphics.beginFill(Math.random()*0xFFFF);
xh.graphics.drawCircle(0,0,4);
addChild(xh);
xh.x=Math.random()*400;
xh.y=Math.random()*300;
sz.push(xh);
// trace(sz.length);
cf();
}
function cf() {
for each (var xh_mc:Sprite in sz) {
xh_mc.addEventListener(Event.ENTER_FRAME,cfhs);
}
}
function cfhs(e) {
var xh_mc:Sprite=e.target as Sprite;
xh_mc.y+=speed;
/*if (xh_mc.hitTestObject(parent.pz_mc)) {
trace(22);
}*/我想在这舞台上建一个影片剪辑!该影片剪辑的实例名称为pz_mc然后测试其碰撞!应该怎么写?让xh_mc怎么和舞台上的元件进行碰撞检测?
}
}
}
}*/我想在这舞台上建一个影片剪辑!该影片剪辑的实例名称为pz_mc然后测试其碰撞!应该怎么写?让xh_mc怎么和舞台上的元件进行碰撞检测?
自己写的类文件怎么实现和舞台上的元件接触?
在自己写的类文件中怎么添加或者实现和其他类文件中写的实力结合!比如我在一个类文件中定义一个圆形实力!在另一个类文件中定义一个方块实例!检测两者间的碰撞问题?该怎么写? 展开
1个回答
展开全部
前面的看得不清楚,我只能回答最后个,帮你写个碰撞测试类。
package {//不会就放其他as文件一起
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.geom.Point;
import flash.geom.Rectangle;
public class HitTest extends MovieClip {
var ifHitted:Boolean=false; //输出用属性
public function HitTest(o1:*,o2:*) {//输入2个目标,必须是继承//displayobject的,也就是movieclip,sprite,shape,textfield这些
var obj1:Object=o1;
var obj2:Object=o2;
var rect1:Rectangle=obj1.getBounds();//获取你那mc的边界方框
var rect2:Rectangle=obj2.getBounds();
var bitmapdata1:BitmapData=new BitmapData(Rect1.width,Rect1.height,true,0x0);//创建个位图数据对象把你的mc灌进去
var bitmapdata2:BitmapData=new BitmapData(Rect2.width,Rect2.height,true,0x0);
var pt1:Point=new Point(1,1);
ifHitted=bitmapdata1.hitTest(pt1,0xff,bitmapdata2,pt1);//测试碰撞并给输出用属性赋值
}
}
}
你在你要检测碰撞的类里,放在一个计时器的回调函数里这样写:(比如你的cfhs。
var hitTest:HitTest=new HitTest(pz_mc,xh_mc);
HitTest.ifHitted 这个就是你要的是否碰撞的值了。
如果以上有语法错误请查询ActionScript 3.0语法与组件参考这个帮助文件,不会有什么大问题。网上有下,我这里没有测试环境。
package {//不会就放其他as文件一起
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.geom.Point;
import flash.geom.Rectangle;
public class HitTest extends MovieClip {
var ifHitted:Boolean=false; //输出用属性
public function HitTest(o1:*,o2:*) {//输入2个目标,必须是继承//displayobject的,也就是movieclip,sprite,shape,textfield这些
var obj1:Object=o1;
var obj2:Object=o2;
var rect1:Rectangle=obj1.getBounds();//获取你那mc的边界方框
var rect2:Rectangle=obj2.getBounds();
var bitmapdata1:BitmapData=new BitmapData(Rect1.width,Rect1.height,true,0x0);//创建个位图数据对象把你的mc灌进去
var bitmapdata2:BitmapData=new BitmapData(Rect2.width,Rect2.height,true,0x0);
var pt1:Point=new Point(1,1);
ifHitted=bitmapdata1.hitTest(pt1,0xff,bitmapdata2,pt1);//测试碰撞并给输出用属性赋值
}
}
}
你在你要检测碰撞的类里,放在一个计时器的回调函数里这样写:(比如你的cfhs。
var hitTest:HitTest=new HitTest(pz_mc,xh_mc);
HitTest.ifHitted 这个就是你要的是否碰撞的值了。
如果以上有语法错误请查询ActionScript 3.0语法与组件参考这个帮助文件,不会有什么大问题。网上有下,我这里没有测试环境。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询