OpenSiv3D P2Body에 텍스쳐 붙여넣기
현재 OpenSiv3D에서는 디버그를 Rect 등에 붙여넣었지만 P2 Body에 붙여넣을 수 없습니다(못할 것 같습니다).
따라서 P2Body 객체에서 Rect를 작성하여 텍스쳐를 붙여 넣습니다.
20.3.11:14 보충
P2Body::as<P2XXXX>(size_t index)
에서 서로 다른 모양의 내부 대상에 대한 지침을 얻는다.그리고 구성원 함수getQuad()
를 통해 Quad
를 가져와 무늬를 붙인다.@Reputeless선생님, 감사합니다!
소스 코드
# include <Siv3D.hpp> // v0.4.3
void Main()
{
P2World world(9.8);
// 地面
P2Body Ground=world.createStaticLine(Vec2(0,0), Line(-100,100,100,100));
// 落下させる箱
P2Body Box=world.createRect(Vec2(0,0), Rect(0,0,50)).setAngle(60_deg);
// 貼り付けるテクスチャ
// TextureDesc::Mipped でGPU負荷軽減・画質向上
Texture texture(U"example/windmill.png",TextureDesc::Mipped);
// カメラ
Camera2D camera(Vec2(0,0));
while (System::Update())
{
// 物理演算
world.update();
// 2D カメラを更新
camera.update();
{ // 2D カメラの設定から Transformer2D を作成・適用
const auto t = camera.createTransformer();
// 1.Box.as(0) でBoxのQuadを取得
const Quad quad = Box.as<P2Rect>(0)->getQuad();
// 2.テクスチャを貼り付けて描画
quad(texture).draw();
// 地面の描画
Ground.draw(Palette::Lightgreen);
}
// UI表示
camera.draw(Palette::Orange);
}
}
실행 결과Reference
이 문제에 관하여(OpenSiv3D P2Body에 텍스쳐 붙여넣기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Luke02561/items/75516e195a8043a0fa16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)