Flash 碰撞检测问题
有一个圆球a_mc,一个不规则体b_mc,把圆球拖向不规则体,但是无法经过它,被挡在b_mc外面,无法经过。...
有一个圆球a_mc,一个不规则体b_mc,把圆球拖向不规则体,但是无法经过它,被挡在b_mc外面,无法经过。
展开
1个回答
展开全部
1、如果不规则物体是个矩形,那么只要一个挡板,覆盖b_mc就可以了。
2、如果不规则物体比较复杂,那么我们可以新建几个像素大小不等的矩形元件分别放在不规则物体的端面上,分别叫做挡板1_mc,挡板2_mc,挡板3_mc,挡板4_mc,等等
3、不规则物体越复杂,那么我们的挡板可以越小,越多。
4、假如现在有不规则物体是个工字形,那么只要3个矩形的挡板就可以了,那么帧上面的as2.0代码如下:
a_mc.onEnterFrame = function() {
if (this.hitTest(挡板1)) {
this.stopDrag();
this._x += 1*(this._x-挡板1._x);
this._y += 1*(this._y-挡板1._y);
}
if (this.hitTest(挡板2)) {
this.stopDrag();
this._x += 1*(this._x-挡板2._x);
this._y += 1*(this._y-挡板2._y);
}
if (this.hitTest(挡板3)) {
this.stopDrag();
this._x += 1*(this._x-挡板3._x);
this._y += 1*(this._y-挡板3._y);
}
};
//=====================================上面是判断小球a_mc是否碰撞挡板的代码
a_mc.onPress = function() {
a_mc.startDrag();
};
//点击小球a_mc,按下开始拖拽
a_mc.onRelease = function() {
a_mc.stopDrag();
};
//松手停止拖拽
2、如果不规则物体比较复杂,那么我们可以新建几个像素大小不等的矩形元件分别放在不规则物体的端面上,分别叫做挡板1_mc,挡板2_mc,挡板3_mc,挡板4_mc,等等
3、不规则物体越复杂,那么我们的挡板可以越小,越多。
4、假如现在有不规则物体是个工字形,那么只要3个矩形的挡板就可以了,那么帧上面的as2.0代码如下:
a_mc.onEnterFrame = function() {
if (this.hitTest(挡板1)) {
this.stopDrag();
this._x += 1*(this._x-挡板1._x);
this._y += 1*(this._y-挡板1._y);
}
if (this.hitTest(挡板2)) {
this.stopDrag();
this._x += 1*(this._x-挡板2._x);
this._y += 1*(this._y-挡板2._y);
}
if (this.hitTest(挡板3)) {
this.stopDrag();
this._x += 1*(this._x-挡板3._x);
this._y += 1*(this._y-挡板3._y);
}
};
//=====================================上面是判断小球a_mc是否碰撞挡板的代码
a_mc.onPress = function() {
a_mc.startDrag();
};
//点击小球a_mc,按下开始拖拽
a_mc.onRelease = function() {
a_mc.stopDrag();
};
//松手停止拖拽
物声科技2024
2024-10-28 广告
2024-10-28 广告
声发射检测是一种无损检测技术,通过接收和分析材料释放的瞬态弹性波(声发射)来评定材料性能或结构完整性。它适用于实时监测材料内部的缺陷变化,如裂纹扩展、塑性变形等。该技术具有高灵敏度、整体性和实时性等特点,能准确检测并定位缺陷,评估其严重性。...
点击进入详情页
本回答由物声科技2024提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询