我正在创建一个破砖者克隆,并且需要在创建52个块之后停止创建块。目前的情况是,一旦被摧毁,它会创造更多并实际进入60年代。
我在第1场的Update()部分中的Block代码:
<?php
$orginalArr=array(array("id"=>1,"name"=>"Raj"),array("id"=>1,"name"=>"Raj"),array("id"=>2,"name"=>"Ram"),array("id"=>2,"name"=>"Ram"),array("id"=>3,"name"=>"Rahul"));
$newArray = array();
foreach ( $orginalArr as $arr )
$newArray[$arr['id']] = array(
'id' => $arr['id'],
'name' => $arr['name']);
echo json_encode(array_values($newArray));
?>
下一位代码位于上面的下方,应该从.Count中删除1:
if (blocks.Count < 52)
{
for (int j = 0; j < 12; j++)
{
blockXpos += (61);
blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));
if (j == 11)
{
for (int i = 0; i < 1; i++)
{
blockXpos = 3;
blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));
blockYpos += (51);
if (i == 1)
{
j = 0;
}
}
}
}
}
我的问题是如何将第一行更改为基本上说&#39;在52&#39; 之后停止而不是&#39;如果计数小于52&#39;
答案 0 :(得分:0)
在每个块之后。添加你必须检查blocks.Count并且如果它&gt; = 52,则退出循环。
答案 1 :(得分:0)
//remove the if before the for loop
for (int j = 0; j < 12; j++)
{
if (blocks.Count >= 52)
{
break; //exit the for loop
}
blockXpos += (61);
blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));
if (j == 11)
{
for (int i = 0; i < 1; i++)
{
blockXpos = 3;
blocks.Add(new Blocks(Content.Load<Texture2D>("Blocks\\DurasteelBlock"), blockXpos, blockYpos));
blockYpos += (51);
if (i == 1)
{
j = 0;
}
}
}
}
请参阅break
(MSDN)。
答案 2 :(得分:0)
我设法将它放入LoadContent部分,而现在解决了问题。