Привет, я немного поиграл с Box2D и только начал использовать QuickBox2D, который облегчает работу. Я, однако, получаю другое поведение с определенной формой поли, чем с коробкой. Все остальные свойства одинаковы. Я включил 3 простых примера и их источник ниже.
Что я действительно хочу поработать, так это пример 1 с обоими объектами как поли. Как вы можете видеть, похоже, что «весло» - это тот, который терпит неудачу - «шар» (будь то поли или круг) просто падает прямо через него, а не отскакивает, как это происходит с объектом «весло» из блока , Был бы признателен за помощь или понимание.
Поскольку я могу опубликовать только одну строку на этом этапе, предварительный просмотр SWF для 3 примеров можно посмотреть здесь
Пример 1 источник:
package {
import com.actionsnippet.qbox.QuickBox2D;
import com.actionsnippet.qbox.QuickObject;
import flash.display.MovieClip;
public class Eg1 extends MovieClip {
private var sim:QuickBox2D;
private var paddle:QuickObject;
private var ball:QuickObject;
public function Eg1() {
this.sim = new QuickBox2D(this);
this.paddle = this.sim.addPoly({
x:13,
y:19,
angle:0,
density:0,
draggable:false,
isBullet:true,
verts:[[-3.84,-0.67,-2.84,-1,-2.17,-0.33,2.17,-0.33,2.84,-1,3.84,-0.67,2.84,1,-2.51,1]]
});
this.ball = this.sim.addPoly({
x:13,
y:1,
restitution:1,
friction:1,
draggable:false,
isBullet:true,
verts:[[-0.34,-1,0.34,-1,0.67,-0.33,0.67,0.33,0.34,1,-0.34,1,-0.67,0.33,-0.67,-0.33]]
});
this.sim.start();
}
}}
Пример 2 источник:
package {
import com.actionsnippet.qbox.QuickBox2D;
import com.actionsnippet.qbox.QuickObject;
import flash.display.MovieClip;
public class Eg2 extends MovieClip {
private var sim:QuickBox2D;
private var paddle:QuickObject;
private var ball:QuickObject;
public function Eg2() {
this.sim = new QuickBox2D(this);
this.paddle = this.sim.addBox({
x:13,
y:19,
angle:0,
density:0,
draggable:false,
isBullet:true,
width:8
});
this.ball = this.sim.addPoly({
x:13,
y:1,
restitution:1,
friction:1,
draggable:false,
isBullet:true,
verts:[[-0.34,-1,0.34,-1,0.67,-0.33,0.67,0.33,0.34,1,-0.34,1,-0.67,0.33,-0.67,-0.33]]
});
this.sim.start();
}
}}
Пример 3 источник:
package {
import com.actionsnippet.qbox.QuickBox2D;
import com.actionsnippet.qbox.QuickObject;
import flash.display.MovieClip;
public class Eg3 extends MovieClip {
private var sim:QuickBox2D;
private var paddle:QuickObject;
private var ball:QuickObject;
public function Eg3() {
this.sim = new QuickBox2D(this);
this.paddle = this.sim.addPoly({
x:13,
y:19,
angle:0,
density:0,
draggable:false,
isBullet:true,
verts:[[-3.84,-0.67,-2.84,-1,-2.17,-0.33,2.17,-0.33,2.84,-1,3.84,-0.67,2.84,1,-2.51,1]]
});
this.ball = this.sim.addCircle({
x:13,
y:1,
restitution:1,
friction:1,
draggable:false,
isBullet:true,
radius:1
});
this.sim.start();
}
}}