教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

Android手机游戏开发知识点总结(4)

来源:网络收集 时间:2026-04-01
导读: SetText(strText); SetRect(x, y, w, h); SetBGColor(bgcolor); SetTextColor(txetcolor); SetFontSize(iTextSize); SetAlpha(a); SetPaint(); GetTextIfon(); } /** * 设置Alpha * @param a Alpha值 */ public voi

SetText(strText); SetRect(x, y, w, h); SetBGColor(bgcolor); SetTextColor(txetcolor); SetFontSize(iTextSize); SetAlpha(a); SetPaint(); GetTextIfon(); } /**

* 设置Alpha * @param a Alpha值 */

public void SetAlpha(int a){ m_iAlpha = a; } /**

* 对Paint属性的设置 */

public void SetPaint(){

m_paint.setARGB(m_iAlpha, Color.red(m_iTextColor), Color.green(m_iTextColor), Color.blue(m_iTextColor)); m_paint.setTextSize(m_iTextSize); } /**

* 设置字体尺寸 * @param iTextSize */

public void SetFontSize(int iTextSize){ m_iTextSize = iTextSize; } /**

* 设置显示文本的区域 * @param x * @param y

* @param w * @param h */

public void SetRect(int x, int y, int w, int h){ m_iTextPosX = x; m_iTextPosY = y; m_iTextWidth = w; m_iTextHeight = h; } /**

* 设置背景颜色 * @param bgcolor */

public void SetBGColor(int bgcolor){ m_iTextBGColor = bgcolor; } /**

* 设置字体颜色 * @param txetcolor */

public void SetTextColor(int txetcolor){ m_iTextColor = txetcolor; } /**

* 色绘制要显示的字符串 * @param strText */

public void SetText(String strText){ m_strText = strText; } /**

* 得到字符串的信息 * 包括:行数、页数等信息 * 内部调用 */

public void GetTextIfon(){ char ch; int w = 0; int istart = 0;

FontMetrics fm = m_paint.getFontMetrics();

m_iFontHeight = (int) Math.ceil(fm.descent - fm.top) + 2; m_ipageLineNum = m_iTextHeight / m_iFontHeight; for (int i = 0; i < m_strText.length(); i++){ ch = m_strText.charAt(i); float[] widths = new float[1]; String srt = String.valueOf(ch); m_paint.getTextWidths(srt, widths); if (ch == '\\n'){ m_iRealLine++;

m_String.addElement(m_strText.substring(istart, i)); istart = i + 1; w = 0; }else{

w += (int) (Math.ceil(widths[0])); if (w > m_iTextWidth){ m_iRealLine++;

m_String.addElement(m_strText.substring(istart, i)); istart = i; i--; w = 0; }else{

if (i == (m_strText.length() - 1)){ m_iRealLine++;

m_String.addElement(m_strText.substring(istart, m_strText.length())); } } } } } /**

* 绘制字符串 * @param canvas */

public void DrawText(Canvas canvas){

for (int i = m_iCurLine, j = 0; i < m_iRealLine; i++, j++){ if (j > m_ipageLineNum){ break; }

canvas.drawText((String) (m_String.elementAt(i)), m_iTextPosX, m_iTextPosY + m_iFontHeight * j, m_paint); } } /**

* 翻页等按键处理 * @param keyCode * @param event * @return */

public boolean KeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_DPAD_UP){ if (m_iCurLine > 0){ m_iCurLine--; }

}else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN){ if ((m_iCurLine + m_ipageLineNum) < (m_iRealLine - 1)){ m_iCurLine++; } }

return false; } }

public class GameView extends View implements Runnable{ /* 声明Paint对象 */ private Paint mPaint = null; private int mICount = 0;

/* 声明TextUtil对象 */ private TextUtil mTextUtil = null; public GameView(Context context){ super(context); /* 构建对象 */ mPaint = new Paint();

String string = \测试自动换行\\n\\n设置文字自动换行abcdefgh\\niklmnopqrst换行123347465\\n43756245Android\\n设置文字自动换行abcdefgh\\n iklmnopqrst换行123347465\\n43756245Android\ /* 实例化TextUtil */

mTextUtil = new TextUtil(string,5,50,300,80,0x0,0xffffff,255,16); /* 初始化TextUtil */

mTextUtil.InitText(string,5,150,300,80,0x0,0xffffff,255,16); /* 开启线程 */

new Thread(this).start(); }

public void onDraw(Canvas canvas){ super.onDraw(canvas); /* 设置背景颜色 */

canvas.drawColor(Color.BLACK); mPaint.setAntiAlias(true); if ( mICount < 100 ){ mICount++; }

mPaint.setColor(Color.RED);

canvas.drawText(\装在进度:\/* 绘制TextUtil:实现自动换行 */ mTextUtil.DrawText(canvas); }

// 触笔事件

public boolean onTouchEvent(MotionEvent event){ return true; }

// 按键按下事件

public boolean onKeyDown(int keyCode, KeyEvent event){

…… 此处隐藏:1233字,全部文档内容请下载后查看。喜欢就下载吧 ……
Android手机游戏开发知识点总结(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438798.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)