由于多种原因,现在忙得很,所以更新不太稳定,不过发现也没什么人看,所以也不是太有关系的。
今天主要讲一点内容就是添加图片,并将其显示在屏幕上,其实就是2D的图片了。在我们做3D的游戏时,像一些选项界面什么的都是2D的。
下面是主要步骤了:
1、载入图片
图片一般有两个存放的文件夹,一个是assets文件夹,一个是drawable文件夹,当然我一般是放在raw文件夹下的,这个文件夹是创建在R下的。assets文件夹中内容的特点是ADT不会为该文件下的内容分配资源编号。也就是在读取时需要给出文件路径。方法如下:
Texture Tex_Result;
Resources res=getResources();
AssetManager am = res.getAssets();
try {
InputStream is;
is=am.open("texttex/" + filename + ".jpg");
tex_Result=new Texture(is);
TextureManager.getInstance().addTexture(filename, tex_Result);
}catch(IOException e){
Logger.log("error:Text load failing");
}
第二种方法就是直接Texture(R.XX.XX)的方法了,这个直接加载图片资源到Texture对象。之前的方法是Texture(InputStream)。
2、将Texture对象注册到TextureManager中
所以的Texture对象在使用前都要注册到TextureManager中,然后分配一个名称。如上面代码的
TextureManager.getInstance().addTexture(filename, tex_Result);
filename是String型的,也就是你分配给这个Texture对象的名称了,后面的tex_Result就是Texture对象了。
3、创建Overlay对象
JPCT-AE中实现2D图片的就是Overlay这个类了,其实它也可以在3D空间上实现图片贴在屏幕上的效果,像我以后要做的游戏中的控制杆,就是用它实现的。不管你怎样移动空间中的物体。控制杆总是贴在屏幕上的。
方法简单:
Overlay mOverlay = new(world,x1,y1,x2,y2,texturename);
这个是简单的创建了,当然还有其他方法。先解释一下,world当然就是指游戏中的world对象,或者说是这个贴图存在的空间。x1,y1,x2,y2是这张贴图的2D的位置,要给出左上点和右下点。texturename就是之前注册的Texture对象的名称了,想贴哪张就贴哪张。
在这张图中主要实现了点击进入几个字样的隐现效果,道理很简单,就是改变这个Overlay对象的透明度就可以了。