📄 renderobj.java
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;
import java.lang.*;
import java.io.*;
//import javax.microedition.media.*;
public class RenderObj
{
private static final int RENDEROBJ_FRAMES[][]=
{
{ 40, 5, 16, 9, 8, 4 },
{ 16, 0, 28, 9, 14, 4 },
{ 40, 0, 5, 5, 2, 2 },
{ 45, 0, 7, 5, 4, 28 },
{ 40, 14, 7, 5, 4, 28 },
{ 40, 14, 16, 9, 8, 4 },
};
private boolean m_bIcon;
private boolean m_bText;
private boolean m_bBlink;
private boolean m_bTextPlayer;
private int m_iIconType;
private int m_iIconAnim;
private int m_iIconPosY;
private int m_iType;
private int m_iDir;
private int m_fWorldY;
private int m_iPosYNoZ;
private int m_iScreenX;
private int m_iScreenY;
private int m_iPosX;
private int m_iPosY;
private int m_iDestX;
private int m_iDestY;
private int m_iSrcX;
private int m_iSrcY;
private int m_iHandleX;
private int m_iHandleY;
private String m_pText;
private Image m_pObjImg;
private Image m_pIconImg;
RenderObj()
{
m_bIcon = false;
m_bText = false;
m_iIconType = 0;
}
public static void Touch()
{
}
void SetImg(Image pObjImg, Image pIconImg)
{
m_pObjImg = pObjImg;
m_pIconImg = pIconImg;
}
int GetPosY()
{
return m_iPosY;
}
int GetPosX()
{
return m_iPosX;
}
int GetWorldY()
{
return m_fWorldY;
}
int GetPosYNoZ()
{
return m_iPosYNoZ;
}
int GetType()
{
return m_iType;
}
int GetScreenX()
{
return m_iScreenX;
}
int GetScreenY()
{
return m_iScreenY;
}
int GetDestX()
{
return m_iDestX;
}
int GetDestY()
{
return m_iDestY;
}
void SetIcon(int iType)
{
if(iType == - 99)
m_bIcon = false;
else
m_bIcon = true;
if(iType == 3 || iType == 4)
m_bBlink = true;
else
m_bBlink = false;
m_iIconType = iType;
}
void SetText(String pText, boolean bTextPlayer)
{
m_bTextPlayer = bTextPlayer;
if(pText == null)
m_bText = false;
else
{
m_pText = pText;
m_bText = true;
}
}
void Transform(int fPosX, int fPosY, int fPosZ)
{
m_fWorldY = fPosY;
m_iPosX =((3 * fPosX)+(3 * fPosY))>> 10;
m_iPosY =((fPosX - fPosY - fPosZ)>> 10);
m_iPosYNoZ =((fPosX - fPosY)>> 10);
if(m_bIcon)
m_iIconPosY =((fPosX - fPosY)>> 10);
}
void RenderIcon(Graphics g, int iOffsetX, int iOffsetY)
{
if(m_bIcon == false)
return;
int iSrcX = RENDEROBJ_FRAMES[m_iIconType][0];
int iSrcY = RENDEROBJ_FRAMES[m_iIconType][1];
int iDestX = RENDEROBJ_FRAMES[m_iIconType][2];
int iDestY = RENDEROBJ_FRAMES[m_iIconType][3];
int iHandleX = RENDEROBJ_FRAMES[m_iIconType][4];
int iHandleY = RENDEROBJ_FRAMES[m_iIconType][5];
if(m_bBlink)
{
if(m_iIconAnim < 1)
m_iIconAnim++;
else
{
m_iIconAnim = 0;
return;
}
}
int iPosX =((432 / 2 -(iOffsetX - m_iPosX)))- iHandleX;
int iPosY = 11 + 144 / 2 - iOffsetY + m_iIconPosY - iHandleY;
g.setClip(0,(11 - 2), 176,((208 -(11 - 2))-((Basketball.hGameWnd.m_iCommentaryTime > 0)? 10 : 0)));
g.clipRect(iPosX, iPosY, iDestX, iDestY);
g.drawImage(m_pIconImg, iPosX - iSrcX, iPosY - iSrcY, 0);
}
void RenderText(Graphics g, bhFont pFont, int iOffsetX, int iOffsetY)
{
if(m_bText == false)
return;
g.setClip(0,(11 - 2), 176,((208 -(11 - 2))-((Basketball.hGameWnd.m_iCommentaryTime > 0)? 10 : 0)));
int iPlayerOffY = 0;
int iPosX;
int iPosY;
if(m_bTextPlayer)
{
iPlayerOffY = 19;
iPosX =((432 / 2 -(iOffsetX - m_iPosX)))- 4;
iPosY = 11 + 144 / 2 - iOffsetY + m_iPosY + 4;
g.setColor(0x000000);
g.fillRect(iPosX - 1, iPosY - 1, 13+13, 9+5);
g.setColor(0x0000FF);
g.fillRect(iPosX, iPosY, 11+11+2, 7+5);
}
else
{
iPosX =((432 / 2 -(iOffsetX - m_iPosX)))- m_iHandleX;
iPosY = 11 + 144 / 2 - iOffsetY + m_iPosY - m_iHandleY + 4 + iPlayerOffY;
}
pFont.stringChar(g, iPosX, iPosY, m_pText, 2-5, 0);
}
void Render(Graphics g, int iOffsetX, int iOffsetY)
{
m_iScreenX =((432 / 2 -(iOffsetX - m_iPosX)))- m_iHandleX;
m_iScreenY = 11 + 144 / 2 - iOffsetY + m_iPosY - m_iHandleY;
g.setClip(0,(11 - 2), 176,((208 -(11 - 2))-((Basketball.hGameWnd.m_iCommentaryTime > 0)? 10 : 0)));
g.clipRect(m_iScreenX, m_iScreenY, m_iDestX, m_iDestY);
g.drawImage(m_pObjImg, m_iScreenX - m_iSrcX, m_iScreenY - m_iSrcY, 0);
}
void SetFrame(int iSrcX, int iSrcY, int iDestX, int iDestY, int iHandleX, int iHandleY, int iDir)
{
m_iSrcX = iSrcX;
m_iSrcY = iSrcY;
m_iDestX = iDestX;
m_iDestY = iDestY;
m_iHandleX = iHandleX;
m_iHandleY = iHandleY;
m_iDir = iDir;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -