40 lines
709 B
C++
40 lines
709 B
C++
// Copyright (C) 2019 Nomango
|
|
|
|
#pragma once
|
|
|
|
#include "common.h"
|
|
|
|
// ·½¿é
|
|
KGE_DECLARE_SMART_PTR(Square);
|
|
class Square
|
|
: public Sprite
|
|
{
|
|
public:
|
|
Square(b2World* world, const Point& pos)
|
|
{
|
|
Load(L"square.png");
|
|
SetAnchor(0.5f, 0.5f);
|
|
SetScale(0.7f);
|
|
|
|
b2BodyDef bodyDef;
|
|
bodyDef.type = b2_dynamicBody;
|
|
bodyDef.position = Vec2Convert(pos);
|
|
|
|
b2Body* body = world->CreateBody(&bodyDef);
|
|
|
|
SetUserData(body);
|
|
|
|
b2PolygonShape shape;
|
|
b2Vec2 sz = Vec2Convert(GetSize() / 2 * 0.7f);
|
|
shape.SetAsBox(sz.x, sz.y);
|
|
|
|
b2FixtureDef fixtureDef;
|
|
fixtureDef.shape = &shape;
|
|
fixtureDef.density = 1.0f;
|
|
fixtureDef.friction = 0.3f;
|
|
|
|
body->CreateFixture(&fixtureDef);
|
|
body->SetUserData(this);
|
|
}
|
|
};
|