TextureRect类

TextureRect 是一个用于 OpenGL ES 渲染的类,包含顶点坐标、纹理坐标属性引用、自定义渲染管线着色器程序等成员变量。提供多个构造器以支持不同场景,如普通绘制、按钮、生命值显示、水面效果和纹理流动。通过 initVertexData 和 initShader 方法初始化顶点数据和着色器,并通过 drawSelf 方法进行绘制,根据对象类型传递不同参数以实现特定效果。
摘要由CSDN通过智能技术生成
public class TextureRect 
{	
	int mProgram;//自定义渲染管线着色器程序id
    int muMVPMatrixHandle;//总变换矩阵引用id
    int maPositionHandle; //顶点位置属性引用id  
    int maTexCoorHandle; //顶点纹理坐标属性引用id  
    int uIsButtonDownHandle;//按钮是否按下引用Id
    int uTypeHandle;//按钮的属性
    int uCurrAlphaHandle;//当前按钮的不透明度
	int uWidthHandle;//当前按钮的宽度
	int uCurrXHandle;//传入的X坐标
    
    
    int maSTOffset;	//水面纹理图的偏移量引用id
    int uBloodValueHandle;//生命值的引用
	FloatBuffer   mVertexBuffer;//顶点坐标数据缓冲
	FloatBuffer   mTexCoorBuffer;//顶点纹理坐标数据缓冲
    int vCount=0;  
    private boolean isFlow;//当前是否是水面
    private boolean flag_flow_go=true;//水面是否运动
    private float currStartST=0;	//水面纹理坐标的当前起始坐标0~1
    //按钮标志位,用来改变按钮的不透明度
    private int index=0;//对象id,如果是1,表示当前为按钮,如果为2,表示绘制物体的生命值
    public  int button_type=0;//按钮的类型  0表示正常显示,1表示按下才透明的按钮,2表示循环变换的按钮,3表示卷动的面板
    public  float bloodValue;//物体的生命值
    public  int isButtonDown;//按钮是否按下0表示没有按下,1表示按下
    public float currAlpha;//当前的不透明度
    public float buttonWidth;//按钮的宽度
    public float currX;//传入的X值
    
    
    public float flowSpeed;//流动的速度
    public float[] textures;//定义纹理坐标
    //普通构造器
    public TextureRect(float width,float height,int mProgram)
    {    	
    	//初始化顶数据的initVertexDate方法
    	initVertexData(width,height,false,1);
    	//初始化着色器的initShader方法        
    	initShader(mProgram);
    }
    //按钮/生命值构造器
    public TextureRect(fl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值