好的,就像我们很多新手的编码一样,我已经达到了这样的程度,通过反复试验,我可以将一个相对有趣且相当稳定的游戏放在一起,而不是真正理解为什么我的代码很多,并且我对指针和数据管理的理解很差。我已经尝试过学习,但由于我缺乏正式的计算机科学学术背景,并且有15年的编码经验,介绍性的东西太容易了,高级的东西使用了大量的术语,我不明白与代码配对我做的。
我试图理解为什么有时我可以定义一个新变量,将其指向另一个变量,然后间接更改指向数据,有时我不能。这是一个例子,它可以像我期望的那样工作:
NSString *myString = [MySingleton sharedMySingleton].singletonString;
myString = @"Hello there!";
[myString retain];
通过更改本地定义的“myString”,我可以更改单例字符串。
这是一个例子,它没有像我期望的那样工作:
HUDLayer *windowBox = shopWindowBox;
[windowBox addChild: shop];
[windowBox retain];
在这种情况下,HUDLayer只是一个基本上空白的文件,“shop”是包含我的商店的菜单,“shopWindowBox”是HUDLayer的一个实例。如果我使用[shopWindowBox addChild:shop]调用代码,它可以工作,但是一旦我尝试定义一个新的HUDLayer并指向它,它就不起作用。
我理解我正在做一个非常根本不同的操作,在一种情况下我正在改变字符串的内容,而在另一种情况下我正在添加一个孩子。我得出的结论是“你不能将孩子添加到有针对性的数据中”,但我是否真的理解这一点,如果是这样,为什么不呢?
答案 0 :(得分:0)
我在另一个块中发现代码错误,将其可见性设置为FALSE。
我试图通过将“shopWindowBox”,“unitWindowBox”和“unlockablesWindowBox”更改为windowBox的本地定义变量来使代码更加即插即用,但我的“hideUnitWindowBox”和“hideUnlockablesWindowBox”函数是填充后,将商店橱窗的可见性设置为FALSE。
我猜指针不仅像我预期的那样工作,它们比我预期的更好......我愚蠢地使用指针将4个不同的窗口合并到一个窗口中。