java/android
DiamondC++
1145141919810
展开
-
[Java] [Android] 控件动画
ObjectAnimator和Animation的简单使用原创 2022-06-02 16:15:15 · 167 阅读 · 0 评论 -
[Java] [Android] 使用列表框
ListView,GridView,Spinner适配器列表框需要适配器,常用的有BaseAdapter,SimpleAdapter和ArrayAdapterArrayAdapterArrayAdapter非常简单,只有几个参数:上下文,布局资源和数据数组new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);SimpleAdapterSimpleAdapter也很简单:上下文,数据数组,布局原创 2022-05-31 09:08:48 · 298 阅读 · 0 评论 -
[Java] [Android] 用Canvas画出3D矩形
额想模仿OpenGL提示虽说是模仿,但不彻底,因为不是每个像素渲染过去的,所以光照、纹理通通不能用然后它的旋转貌似有点问题,不知道为什么代码package com.Diamond.canvas;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.content.Context;import android.graphics.Canvas;import android.grap原创 2022-05-24 16:57:39 · 623 阅读 · 0 评论 -
[jni] [android] 用C++开发安卓程序
原理原理其实很简单首先用FindClass()查找java类,然后用GetMethodID()得到构造函数构造函数的函数名是“< init >”,返回类型为"V"(void)最后直接用NewObject()创建一个按钮回调部分受到了别人文章和快写代码的启发,把回调类的地址传递到java中,java类接收到事件后用地址作为参数调用本地方法,本地方法把地址转换为c++回调类,调用方法代码MainActivity.javapackage com.Diamond.ndk; impor原创 2022-04-17 14:07:57 · 5470 阅读 · 0 评论 -
[Java] [OpenGL ES 3.2] 相机控制器
原理首先来讲相机旋转:求得上一次触摸位置和本次触摸位置的差向量,然后调用Camera的rotate()就行了然后是重点——计算缩放:得到两个手指本次和上次触摸位置,分别求手指1和手指2的上次与本次触摸位置的差向量的模,相除得出一个比值,这个值就是缩放量,乘上视野即可。源代码CameraController.javapackage com.Diamond.SGL;import com.Diamond.SGL.*;import android.renderscript.Float2;impor原创 2022-02-26 18:41:01 · 3297 阅读 · 0 评论 -
[Java] [OpenGL ES 3.2] 平面阴影
原理影子可以让人判断距离,比如物理世界1.3中,没有影子就让我以为物体还要飞一会儿,然后成功地判断失误了…其实实现原理很简单,就是把物体按照光方向拍成2维的,然后绘制在平面上就行了,只要用到一个有点复杂的公式(详见《OpenGL ES 3.x游戏开发(下卷)》P126 )代码shadow.vert#version 320 esprecision mediump float;layout(location=0)in vec3 a_position;layout(location=1)in v原创 2022-02-19 12:02:46 · 3134 阅读 · 0 评论 -
[Java] [OpenGL ES 3.2] 加载obj文件 3.0
package com.Diamond.SGL;import java.io.InputStream;import java.util.ArrayList;import java.io.InputStreamReader;import java.io.BufferedReader;import java.io.IOException;import android.util.Log;public class ObjLoader { public float[] vertices =原创 2022-02-19 11:46:22 · 1020 阅读 · 0 评论 -
[android] [java] [OpenGL ES3.2] MyMineCraft
代码已经传到github上了Sprite就是改了的MyObjectSprite.javapackage com.Diamond.SGL;import android.renderscript.Float3;import android.renderscript.Matrix4f;public class Sprite { private Float3 mPosition; private Float3 mRotate; private Float3 mScale;原创 2022-02-12 09:14:15 · 228 阅读 · 0 评论 -
[Java] [Android] 画板
代码BasicCanvas.javapackage com.Diamond.canvas;import android.view.SurfaceView;import android.view.SurfaceHolder;import android.graphics.Bitmap;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import andro原创 2022-02-01 10:54:16 · 127 阅读 · 0 评论 -
[Java] [OpenGL ES 3.x] 程序模板
MainActivity.javapackage com.Diamond.example;import android.app.Activity;import android.os.Bundle;import com.Diamond.example.MySurfaceView;public class MainActivity extends Activity { public MySurfaceView surfaceView; @Override prot原创 2022-01-08 17:02:47 · 992 阅读 · 0 评论 -
[android] [OpenGLES 1.1] (想不出名字)
标题OpenGLES 1.x相比于OpenGLES 2.x和3.x,不用写着色器,方便许多,今天闲着没事,就写几个类不过貌似有点问题,难道是我使用方式不对???这个先留着当模板,寒假写个OpenGLES 3.x的代码Camera.javapackage com.Diamond.gl10try;import android.opengl.*;import android.renderscript.Float3;import android.opengl.Matrix;import and原创 2022-01-02 21:15:59 · 871 阅读 · 0 评论 -
[java] [android] 简易(简陋)计算器
p.s.java不是我常用的语言,写得可能不咋地额…因为习惯问题所以会说函数而不是方法思路计算器(应该)有2个数,这里命名为number1和number2,输入步骤是:number1->运算符(也许叫这个???)->number2,当前输入用input_index表示这里用String类型的原因是为DEL按钮(假装有)做铺垫,因为整数的退格还好说,但是如果是小数就会非常麻烦,所以干脆转换为String,直接截取字符串就行了因为对每个事件写相同代码太麻烦了,所以用函数看起来是个超级原创 2021-10-16 09:23:55 · 731 阅读 · 0 评论