2

当我运行未修改的“图像属性”示例时,图像失去了颜色(与示例随附的视频不同)。知道发生了什么吗?

更新:我意识到只有包含的 C4 图像有这个问题(C4Sky.png 和 C4Table.png)。

4

1 回答 1

1

问题仍然存在。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

于 2013-06-03T00:17:57.790 回答