如何访问实例中的类资源

时间:2012-11-12 19:40:44

标签: image class smalltalk

我正在尝试制作一个简单的游戏,到目前为止我可以捕获用户输入,但我无法让视图正常工作以打印图像。如果我有一个名为image的资源,我如何分配单个精灵在displayOn上显示这个图像?我尝试了很多方法,例如我尝试的初始化方法:

self image := Classname image

但这导致了溢出,我被迫关闭视觉而不保存工作。 这样做的好方法是什么?

1 个答案:

答案 0 :(得分:4)

您通常可以直接访问类侧方法,而无需将其存储到实例变量中。例如:

myMethodsWhoNeedsAnImage
    | image |
    image := self class imageStoredInClassSide.
    "now do something with image"

如果您需要存储它,当然您不能在您的示例中执行您尝试的操作,但您可以这样做:

initialize
    super initialize.
    image := ClassWithImage image.

initialize
    super initialize.
    self image: ClassWithImage image. "This is a setter method"

任何这些方法都应该有效。如果没有,很可能你在其他地方遇到问题,而不是在访问课堂方面。