以下のupdate()
関数は、ゲームのすべてのフレームで呼び出されます。Drop
パーティクルのy値が160より大きい場合は、テーブルから削除します。問題は、以下の行に「数値とnilを比較しよう」というエラーが発生することです。
local particles = {};
function update()
local num = math.random(1,10);
if(num < 4) then
local drop = Drop.new()
table.insert ( particles, drop );
end
for i,val in ipairs(particles) do
if(val.y > 160) then --ERROR attempt to compare number with nil
val:removeSelf(); --removeSelf() is Corona function that removes the display object from the screen
val = nil;
end
end
end
私は何が間違っているのですか?明らかval
にnilですが、yの値が160より大きくなるとnilに設定したため、テーブルの反復で最初にvalが見つかる理由がわかりません。