当我运行未修改的“图像属性”示例时,图像失去了颜色(与示例随附的视频不同)。知道发生了什么吗?
更新:我意识到只有包含的 C4 图像有这个问题(C4Sky.png 和 C4Table.png)。
问题仍然存在。C4Image 的图像属性似乎存在错误。
解决方案是使用指向您希望查看的 C4Image 的指针,然后将指针指向的 C4Image 包含在画布上。请务必从画布中删除旧图像。使用对象比较消除了对额外布尔变量的需要。
#import "C4Workspace.h"
@implementation C4WorkSpace {
//define 2 invisible images
C4Image *i1, *i2;
//define a pointer to a selected image
C4Image *visibleImage;
}
-(void)setup {
i1 = [C4Image imageNamed:@"C4Sky.png"];
i2 = [C4Image imageNamed:@"C4Table.png"];
visibleImage = i1;
i1.center = i2.center = self.canvas.center;
[self.canvas addImage:visibleImage];
}
-(void)touchesBegan {
[self.canvas removeObject:visibleImage]; // remove old image
// see what the pointer is pointing to and update accordingly
if (visibleImage == i1)
visibleImage = i2;
else
visibleImage = i1;
// add the newly referenced C4Image to canvas
[self.canvas addImage:visibleImage];
}
@end
这是我将保留此代码的要点的链接:https ://gist.github.com/drart/5695449