我知道,这是最简单的事情,但它不起作用!
我有这个:
static float px=50;
static float py=40;
for(int j=0;j<10;j++)
{
for(int i=0;i<10;i++)
{
pixels[i]=CGPointMake( px+(i*32), py+(j*32) );
}
}
for(int i=0;i<10;i++)
NSLog(@"%@",NSStringFromCGPoint(pixels[i]));
似乎j得到了垃圾值。 我得到前10个点良好 point.x值,奇怪 point.y值,这不是增量。
答案 0 :(得分:2)
您只需按pixels
为i
编制索引,因此您为每pixels
/行编写相同的j
条目。
您不能为pixels
提供声明,但我猜您想要pixels[i + j*10]
之类的内容。
答案 1 :(得分:1)
有效只是最后一个循环 j ,结果与这种情况相同:
//for(int j=0;j<10;j++)
j=9;
{
for(int i=0;i<10;i++)
{
pixels[i]=CGPointMake( px+(i*32), py+(j*32) );
}
}
我认为,你需要像素数组:
CGPoint pixels[10][10];
并在循环中:
pixels[i][j]=CGPointMake( px+(i*32), py+(j*32) );
答案 2 :(得分:0)
问题可能是你的像素数组只有10个索引被访问,因为索引i只从0到9,与j无关。 因此,索引[10]及以上将是无稽之谈,因为它们永远不会被写入。