基本的に:
- クリックしてブロックを作成するLÖVEエンジンでゲームを作成しています
- クリックするたびに、マウスXとマウスYにブロックが作成されます
- ただし、そのブロック(またはテーブル)に「object1」という名前を付ける必要があるため、表示できるブロックは1つだけです。
値を増やしながらテーブルを次々に作成する方法はありますか?(object1 {}、object2 {}、object3 {}などのように...ただし、メインテーブル内では'created_objects')
ただし、クリックした場合にのみ、ループ部分が除外されると思います(ただし、クリックされない場合は教えてください)
これが私のコードですが、コンパイルされません。
function object_create(x, y, id) **--Agruments telling the function where the box should spawn and what the ID of the box is (variable 'obj_count' which increases every time a box is spawned)**
currobj = "obj" .. id **--Gives my currently created object a name**
crob.[currobj] = {} **--Is supposed to create a table for the current object, which holds all of its properties. **
crob.[currobj].body = love.physics.newBody(world, x, y, "dynamic")
crob.[currobj].shape = love.physics.newRectangleShape(30, 30)
crob.[currobj].fixture = love.physics.newFixture(crob.[currobj].body, crob.[currobj].shape, 1) **--The properties**
crob.[currobj].fixture:setRestitution(0.3)
しかし、[currobj]を何に置き換える必要がありますか?
解決しました
私が探していたものを見つけました。人々が疑問に思っている場合のコードは次のとおりです。
function block_create(x、y、id)-(マウスのxとy、および増加する変数)
blocks[id] = {}
blocks[id][1] = love.physics.newBody(world, x, y, "dynamic")
blocks[id][2] = love.physics.newRectangleShape(45, 45)
blocks[id][3] = love.physics.newFixture(blocks[id][1], blocks[id][2])
blocks[id][3]:setRestitution(0.2)
blocks[id][4] = math.random(0, 255) --The Color
blocks[id][5] = math.random(0, 255)
blocks[id][6] = math.random(0, 255)
blockcount = blockcount + 1