1
私はLove2Dの物理的な体にイメージを設定しようとしています。私は物理的な物体の画像を持っている部分に行ってきましたが、私はその画像を持ち、物理的な物体の物体を透明に見せかけることはできません。love2D love.physicsと体に画像を設定する
身体のインスタンスを簡単に作成できるクラスがあります。
ポリゴンを塗りつぶす前にself.imageを描画すると、何も表示されないようです。
誰でも私が必要とする結果を得るのを助けることができますか?
object.luaのすべて:
local object = {}
local object_mt = { __index = object }
function object.newRect(world,x,y,width,height,typeOfBody,sprite)
local instance = {}
setmetatable(instance, object_mt)
instance.body = love.physics.newBody(world, x, y, typeOfBody or nil) -- create a body at x,y
instance.shape = love.physics.newRectangleShape(x,y,width,height)
instance.fixture = love.physics.newFixture(instance.body,instance.shape) -- create a fixture of width/height
instance.image = sprite and love.graphics.newImage(sprite) or nil
return instance
end
function object:Draw()
love.graphics.polygon("fill",self.body:getWorldPoints(self.shape:getPoints()))
if self.image then
love.graphics.draw(self.image, self.body:getX(), self.body:getY(), self.body:getAngle(), 1, 1, self.image:getWidth()/2, self.image:getHeight()/2)
end
end
function object.getPosition()
return self.body:GetPosition()
end
return object
オブジェクトの2つの異なるバージョンを用意しています.Draw()を使用して、オブジェクトからポリゴンを削除したい場合は、次のようにします。あなたが使いたいものはどれですか? 「それはまったく何も表示しない」という意味はどういう意味ですか?ポリゴンさえない? – Piglet
私はアルファを間違っていました(0から255ではなく0から1にする)、ポリゴンは表示されますが、画像は表示されません。私はポストエディタで最初のバージョンを編集してから、残りのコードをnotepad ++からコピーしたので、違うバージョンのオブジェクト:Draw()は間違った順序であった点を除いて全く同じでした – Ducktor