编辑我试图让我的问题更清晰。更新和共享3个类别之间的变量
我有一个MyGLRendering类,如下所示,我有一个方法可以从中进行所有的逻辑更新。正如你所看到的,我正在通过我创建的对象访问我的精灵的X坐标。所以我的'x'变量驻留在我的Sprite类中。
我想要做的就是将代码从我的更新方法移动到它自己的类中。从我的渲染方法中调用它。
public class MyGLRenderer extends Activity implements GLSurfaceView.Renderer {
Sprite sprite1;
public MyGLRenderer() {
sprite1 = new Sprite();
}
//Now I can access and update the X variable from from this class like so:
public void LogicUpdate() {
sprite1.X = 0; //I update all my sprites positions here - I want to move all this code into it's own class
}
}
}
如果我尝试我的代码移动到一个新的类,我只是不能访问变量,像这样的上方。
sprite1.X = 0;
任何想法我可以做到这一点?
如果您在构造函数中初始化变量并且以后不更改变量,那么添加'final'修饰符总是一个好主意。因此,除非有意分配'null',否则编译器会抱怨未初始化的变量。 你能否按照惯例清理你的代码,命名类和变量,并解释'同时,回到我的Renderer类'的含义是什么? – ohaleck 2013-05-06 19:00:44
嗨@ohaleck,我没有这样做,我声明构造函数之外的变量,并在构造函数中初始化它们(即分配给它们)。建议改变我的班级名称。另外,当我说'同时,回到我的Renderer类中'仅仅意味着在我创建了我的逻辑类之后,然后将我的渲染(MyGLRenderer)类中的代码从它的原始格式中更改(即,删除逻辑更新并试图通过我创建的对象来访问它们)。谢谢:-) – Zippy 2013-05-06 19:11:48
当然,这就是我的意思,对不起。将变量作为最终变量应该可以帮助你发现你做错了什么(因为它对我来说似乎很混乱)。 – ohaleck 2013-05-06 19:12:32