传统的办法:DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); mDeviceWidth = dm.widthPixels; mDeviceHeight = dm.heightPixels;这样是可以获取到设备的宽高的,一般的手机也没测试出过问题。但是在android 的pad上就不行了。由于各厂商没有统一标准,有的pad获取到的w和h是包含标题栏高度的,有的则没包含标题栏高度,而在pad上获取标题栏高度始终是0... Read More
由于矢量字体的宽度不同,自测android字体,发现当中文字体大小为100像素时,字母s等 宽度大概在52,字母l等 宽度大概在26,这样自动换行就不可以按字符的个数计算截取每行显示的字串。直接上代码。支持\n换行,支持矩形内显示不下的时候,把最后显示的字符换成...import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.view.View;public class MyView extends View { private Pai... Read More
用过eclipse ctrl+shit+f的人肯定都感觉eclipse这个功能很爽。但对于数组,有时候就不是这样了。比如在opengl中定义一些顶点信息:int one = 0x010000;private int[] colorBufferForQuad = new int[]{ 0,one,0,one, 0,one,0,one, 0,one,0,one, 0,one,0,one, one, one/2, 0, one, one, one/2, 0, one, one, one/2, 0, one, one, ... Read More
1.永远不要比较两个浮点数是否相等。它是不安全的。详情google。2.尽量使用StringBuffer代替String。3.final类会提高很多效率。4.try-catch 不应该用来控制程序逻辑,只能用于错误处理。5.保证方法只有一个出口,即一个method只有一个return。6.尽量用局部变量。7.循环和try-catch同时使用时,不可以把try-catch放在for或者while的内部,应该放在循环的外部。8.压缩需要传输的数据。必要的做加密。9.耗时操作一定要使用线程。较多生命周期较短的线程应该使用线程池提高效率。10.不要为了方便使用static,要理解static在面向对象 Read More
public static void main(String[] args) { int i, n[] = { (((1 << 1) << (1 << 1) << (1 << 1) << (1 << (1 >> 1))) + ((1 << 1) << (1 << 1))), (((1 << 1) << (1 << 1) << (1 << 1) << (1 << 1)) - ((1 Read More
首先,Point类public class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } boolean isSame() { return x == y; }}测试代码A:public class RandomTest { public static Random random = new Random(); public static void main(String[] args) { int... Read More
程序命名(针对那些不能混淆的代码)容易输入的名字。比如:Fred,asdf单字母的变量名。比如:a,b,c, x,y,z,或者干脆上中文比如(阿隆索肯德基)有创意地拼写错误。比如:SetPintleOpening, SetPintalClosing。这样可以让人很难搜索代码。抽象。比如:ProcessData, DoIt, GetData… 抽象到就跟什么都没说一样。缩写。比如:WTF,RTFSC …… 使用拼音缩写也同样给力,比如: BT,TMD,TJJTDS随机大写字母。比如:gEtnuMbER..重用命名。在内嵌的语句块中使用相同的变量名有奇效。使用重音字母或者其他奇葩字符。比如:int Read More
欢迎提出建议指出错误互相交流。1.统计对象数量,比如统计一共发射了多少颗子弹。 public class Bullet { public static int count = 0; public Bullet() { count++; }}2.判断一个浮点数小数位有没有值。public boolean isInt(float f) { return f == (int) f; }3.聪明你的一定想到了,获取一个浮点数的小数部分public static float getZeroPoint(float f) { retur... Read More
游戏中避免不了需要一些动画特效的处理,有些是不方便用美术或者美工来处理的,那么就由我们程序猿来搞了。直接进入正题。 首先是Animation,Animation针对view,可以控制view的位移、缩放、旋转、淡入淡出等等,不做介绍了,网上很多例子,Animation的一些效果比如OvershootInterpolator做出来的效果还是挺不错的。 然后是Matrix和ColorMatrix。Matrix提供rotate,scale,translate,skew4种处理,内部是一个3x3的矩阵,如图。 网上其实也有很多例子,不多赘述了。需要注意的是一些复合用法... Read More
简单介绍下,小码农一只,工作两年左右,从事移动端游戏开发工作。 人类,精神正常,男,爱好游戏音乐足球美女,if(有妹子) 喜欢旅游;,取向正常。 很喜欢java,喜欢关注新技术, 应一些朋友的建议,今天起开始整理一些技术的东西发布到这里,偶尔也会转载一些,大概和java,android,游戏开发相关,自己做个积累,也希望各位朋友帮忙指正一些错误或者给一些建议。共同进步。 真·码农的世界,凡人永远理解不了。 贴一张自己截的游戏图吧。。。 Read More