日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Box2D教程3-刚体绑定外观

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Box2D教程3-刚体绑定外观 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Box2D教程1-創建碰撞世界

Box2D教程2-鼠標交互

Box2D教程3-剛體綁定外觀

Box2D教程4-復雜剛體的復雜外觀

Box2D教程5-碰撞檢測

通常我們制作游戲時不可能使用Box2D提供的默認調試顯示對象,我們需要創建個性化的外觀,如果汽車、房子等等。那么如何把這些外觀附加到剛體上面呢?這就是此教程的重點。
創建一個剛體外觀,我們兩步:
1. 將外觀顯示對象附加到剛體的剛體定義的userData屬性
2. 將userData的x, y, rotation與剛體實現同步

在上一個教程的基礎上,修改createBall()方法,添加顯示對象Ball(自定義顯示對象)

private function createBall():void
{
for(var i:int = 0; i < 10; i++)
{
var ballDef:b2BodyDef = new b2BodyDef();
ballDef.type = b2Body.b2_dynamicBody;
var radius:Number = 10+Math.random()*20;
var circleShape:b2CircleShape = new b2CircleShape(radius/PIXEL_TO_METER);
var ballFixtureDef:b2FixtureDef = new b2FixtureDef();
ballFixtureDef.shape = circleShape;
ballFixtureDef.density = 1.0;
ballFixtureDef.restitution = 1.0;
ballFixtureDef.friction = 0.5;
ballDef.position.Set(stage.stageWidth/2/PIXEL_TO_METER,20/PIXEL_TO_METER);

//為每一個球創建一個相同大小的顯示對象外觀
var ballSprite:Ball = new Ball(radius,i+"");
//將顯示對象存入剛體定義的userData樹形
ballDef.userData = ballSprite;
//添加到容器中
addChild(ballSprite);

var ball:b2Body = world.CreateBody(ballDef);
ball.CreateFixture(ballFixtureDef);

}
}

實現顯示外觀與剛體的同步

private function aysncSprite():void
{
//遍歷物理世界的所有剛體,此處為何如此遍歷請參考Manual
//如果你已經給外觀指定了變量,就不用遍歷,直接調用變量
var body:b2Body = world.GetBodyList();
while(body!=null)
{
if(body.GetDefinition().userData is Sprite)
{
var ballSprite:Sprite = body.GetDefinition().userData as Sprite;
ballSprite.x = body.GetPosition().x * PIXEL_TO_METER;
ballSprite.y = body.GetPosition().y * PIXEL_TO_METER;
ballSprite.rotation = body.GetAngle() * (180 / Math.PI);
}
body = body.GetNext();
}
}

在handleEnterframe方法中實現同步,并取消Box2D的debug繪制。

private function handleEnterFrame(evt:Event):void
{
//更新鼠標位置
UpdateMouseWorld();
//不斷調用鼠標拖動方法
mouseDrag();

var timeStep:Number = 1/30;
var velocityInterations:int = 10;
var positionIterations:int = 10;

world.Step(timeStep,velocityInterations,positionIterations);
//同步顯示對象和剛體
aysncSprite();
//在2.1版本清除力,以提高效率
world.ClearForces();
//繪制
//
world.DrawDebugData();
}

下載源碼

轉載于:https://www.cnblogs.com/jinglehit/archive/2012/01/05/2313174.html

總結

以上是生活随笔為你收集整理的Box2D教程3-刚体绑定外观的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性感美女被草 | 激情片网站| 综合亚洲网 | 中文字幕一区二区三区乱码不卡 | 黄页网站在线看 | 射网站 | 国产一区在线观看视频 | 欧美一级片在线播放 | 麻豆精品在线看 | 人妻在线一区二区 | 久久久蜜桃 | 国产全是老熟女太爽了 | 精品女同一区二区三区 | 男女草逼视频 | 日韩少妇激情 | 久操不卡 | 欧美色欧美 | jizz网站 | 欧美另类激情 | 日本黄色短片 | www.四虎.| av中文字幕第一页 | 少妇29p| 特级西西444www大精品视频免费看 | 无码精品一区二区三区在线 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 色噜噜狠狠一区二区三区牛牛影视 | 欧美日韩三级视频 | 日本xxxxxⅹxxxx69 | 国产精品日韩精品 | 涩涩视频在线播放 | www欧美在线| 天天曰天天 | 四虎视频 | 久久国产视频网 | 性久久久久 | 国产精品爱啪在线线免费观看 | 激情www | 久久精品国产一区二区三区 | 在线色网站| av免费精品 | av 日韩 人妻 黑人 综合 无码 | 成年人视频免费在线观看 | 成年人拍拍视频 | 怡红院av久久久久久久 | 欧美裸体精品 | 我要看一级黄色片 | 狼人综合av | 亚洲综合a | 中文字幕久久精品 | 男女在线视频 | 无遮挡黄色 | 二区视频在线观看 | 黄色片播放器 | 韩国无码av片在线观看网站 | 美女露出粉嫩尿囗让男人桶 | 国产午夜福利精品 | 久久婷婷久久 | 欧美在线视频网 | 777久久久精品一区二区三区 | 欧美性生活网站 | 欧美黄色录像带 | 亚洲黄色激情视频 | 色爽影院| 一级片少妇 | 秋霞午夜伦理 | 做爰视频毛片视频 | 九草视频在线观看 | 亚洲色成人一区二区三区小说 | 五月婷婷影院 | 伊人av在线 | 少妇色欲网 | www夜片内射视频日韩精品成人 | 欧美大片黄色 | 欧美日韩人妻精品一区 | www99re| juliaann欧美二区三区 | 国产男男gay体育生白袜 | 欧美精品久久久久久久 | 日本视频免费 | 中文字幕在线播放视频 | 日韩插插| 亚洲成人精品在线 | 亚洲欧洲在线看 | 一本到免费视频 | 欧美www在线观看 | 尤物综合网| 伊人称影院| 国产精品久久久久电影 | 国产精品一区二区在线播放 | 99色网站 | 田中瞳av | a国产视频| a在线v| 国产激情在线播放 | a视频在线 | 欧美在线视频免费观看 | 亚洲国产精品久久久久爰色欲 | 免费在线观看黄色片 |