首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

索尼愛立信 MIDP 2.0 手機系統字體特效製作實戰

     編輯:J2ME

字體特效展示與基礎設定

索愛手機僅實作 Font.FACE_SYSTEM 一種字體外觀,其他面屬性會自動回退。建立字體範例:

Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);

可用屬性:SIZE_LARGE/MEDIUM/SMALL、STYLE_BOLD/ITALIC/PLAIN/UNDERLINED。可在 Canvas 或 CustomItem 中使用。

字體效果展示

圖1:系統字體效果展示

在 Image 上繪製文字並實現透明背景

步驟:建立 Image → 取得 Graphics → 設定字體與顏色 → drawString 繪製(圖2)。

黑字白底

圖2:白底黑字

為避免貼上 Canvas 時背景突兀,需將白色背景改為透明:讀取像素陣列,將背景色像素的 Alpha 通道設為 0(圖3)。

透明背景

圖3:透明背景文字

像素級顏色漸變與等寬字符繪製

同理可逐行修改像素 RGB 實現顏色漸變。等寬文字繪製:取得字符寬度 charWidth('W'),逐字符以 drawChar 置中繪製。

int charWidth = font.charWidth('W');
for (int i=0; i

附錄:完整遊戲範例程式碼

文末附帶一個完整的 MyCanvas 遊戲範例(含小船移動、發射拋物線炮彈、動態海圖背景),展示 GameCanvas、Sprite、TiledLayer 等 MIDP 2.0 Game API 的綜合應用,以及炮彈拋物線軌跡計算(二次方程求解 a,b,c 係數)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved