`
handsomeliuyang
  • 浏览: 311883 次
  • 性别: Icon_minigender_1
  • 来自: 益阳
社区版块
存档分类
最新评论
文章列表
在opengl和android的canvas对于图形的变化都是用矩阵来操作的,如移动,旋转,缩放。对于组合变化,就是让这些多种变化的矩阵进行相乘,而矩阵的乘法不满足交换律,之这一点上,就可以看出组合变化也不满足交换律。 例如:要实现下面两张图形的变化,我们要怎样做:     首先想像一下,只有先缩放再旋转,图形才能变成上图,如果是先旋转再缩放,再就会变成下面的图形(变化会对其中的每个点进行矩阵变化):   那代码要怎样写了:   // 变化一(这个变化其实,才是我们想要的) gl.glRotatef(45, 0, 0, 1); gl.glScalef(2, 0.5f, 1) ...
具体的可以请看:GL学习笔记(2) - 终于搞明白gluPerspective和gluLookAt的关系了 函数原型 gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz); gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)   我的 ...

浅析QQGame

通过分析QQGame的项目,发现其存在两种方式: 1. 不安装游戏apk,直接启动 我这里只说其原理,详情讲查看:探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法 其原理是:   1. 把apk里的class文件通过DexClassLoader把apk里的class文件全部加载到java虚拟机里,如果要使用其中的某个class时,就要使用反射来调用。   2. 如果这个类是Activity的子类,那如何来启动,Activity的子类是由android系统来创建,处理方法是:把Activity的子类当做一个有着Activity相应接口的类,在项目里创建一个空的Activit ...

球形建模

 
opengl里的对球形的建模:首先要把球形表式由点组成的模型。现在的问题是:怎么把这个球用点集进行表示。 代码如下: final int UNIT_SIZE=10000; ArrayList<Integer> alVertix=new ArrayList<Integer>();//存放顶点坐标的ArrayList ...
Activity的方法onSaveInstanceState(Bundle outState),按照文档里说的,这个方法是在内存不够时,系统要强制杀掉这个Activity时,进行调用的。   但经过我的测试,发现这个方法并不是在系统内存不够时,要杀掉Activity时,才调用的。   测试结果: 1. 只要Activity不finish,Activity进入后台(比如Home键,跳转到其他的Activity),则其就会调用onSaveInstanceState(Bundle outState)方法,而且这个方法是在onPause方法之间进行调用的。 2. 如果Activity是执行了 ...
从android系统2.1以后,android新增了方法:overridePendingTransition(int enterAnim, int exitAnim),用于改变Activity之间的切换动画。   从样式里进行改变切换动画 这个主要是加在样式文件里进行更改,代码如下:   <style name="Theme.Test" parent="@android:style/Theme.Light.NoTitleBar"> <item name="android:windowAnimationStyle&q ...
现在工作也已经快两年了,感觉到对基础的知识需求越来越大,这次要下定决心,把数据结构与算法学一遍,所有的代码都要打一遍,并把自己的学习体验写在博客上。   在网上看到也有人把学习数据结构与算法的笔记记录下来了:http://www.luocong.com/dsaanotes/index-Z-H-1.htm
  一直以为在intent里加了FLAG_ACTIVITY_NEW_TASK标记,启动的Activity会被加入一个新的Task栈里,这种理解是错误的。   加了这个FLAG_ACTIVITY_NEW_TASK标记,不一定会启动一个新的栈,其步骤是:先查找有没有和这个Activity的affinity相同的task栈,如果有,则直接在这个task栈里启动,不然才创建一个新的task栈。 详情请看:http://www.cnblogs.com/newcj/articles/1981964.html
调用Dialog的dismiss()方法的方式: 1. 重写Dialog的onKeyDown()方法里进行调用:   @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Log.d(Constant.TAG,"dialog onKeyDown"); if(keyCode == KeyEvent.KEYCODE_BACK) { dismissOut(); return true; ...
先刷recovery 首先第一步要刷Nexus S的recovery才行,要从这里选择安装zip包,注意每刷一次,重启后,都会失效:具体教材:http://bbs.gfan.com/android-527783-1-1.html 如果其中的附件下载不下来,可以下载:http://115.com/file/e7h0ek2q root 如果系统是android 4.0.3的,就把Superuser-3.0.7-efghi-signed.zip里的文件拷贝到sdcard的根目录,如果系统是2.3.6,就把Nexus_S_Fastboot_ADB-driver_Recovery.rar里的文件拷 ...

引用主题属性

文档里写的引用主题属性的方法如下: ?[<package_name>:][<resource_type>/]<resource_name> 这种引用方法只能在xml文件中使用。 ?表示引用属性,当使用这个属性的时候,资源工具会从当前的主题样式中查找这个资源名称,可以不用指名具体是类型。 用于主题的样式如下: <style name="Theme.XXXX" parent="@android:style/Theme.Light.NoTitleBar"> <item name= ...
Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT   1. 如果已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示: Intent intent = new Intent(this, B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActi ...
The Replica Island renderer is based heavily on the GLSurfaceView class that ships with the Android SDK. I've made a couple of modifications but the code is pretty similar to the regular version: a derivation of GLSurfaceView.Renderer that draws the frame gets called every frame, followed by a call t ...
The main mode of movement in Replica Island is flying. The Android robot has thrusters in his feet, and while he can also slide upon the ground, most of the game is spent maneuvering through the air. Enemies are dispatched by dropping on them from above and the collision and physics systems make it e ...
I used to make games like this: class RenderableMovingCollidableGameObject extends RenderableMovingGameObject { public void update() { super.update(); // Parent classes implement rendering and movement. // implement collision detection here }
Global site tag (gtag.js) - Google Analytics