我想拥有一个全局范围的变量,因此一些图形对象总是可以与窗口相关的大小相同。我的想法:
public static final double GLOBALSCALE = SCREENWIDTH / 1920;
但那时我的变量为零。 它发生在Singleton-Patterned-Class的数据域中..我明白了什么不对吗?
答案 0 :(得分:3)
你把一个int分成了一个int并且期望一个双倍的结果。你需要用双倍的方式来代替:
public static final double GLOBALSCALE = SCREENWIDTH / 1920.0;
注意区别,1920.0
是双倍,而1920
是int。如果两个中的一个是双java则不会进行整数除法而是双倍。
或者像这样将分裂投射到双重身上:
public static final double GLOBALSCALE = SCREENWIDTH / (double)1920;