📄 cslide.java
字号:
import javax.microedition.lcdui.Graphics;
import com.nokia.mid.ui.DirectGraphics;
import com.nokia.mid.ui.DirectUtils;
/*
* 渐变类
* 构造函数与设置渐变填充区域函数要一块设置
*/
public class CSlide
{
private DirectGraphics m_directGraphics; //NOKIA 开发包带的画笔,带有填充透明色功能
private int m_slideState = 0; //渐变效果: 0--没有渐变 1--渐入(由暗变亮) 2--渐出(由亮变暗) 3--变暗后转换场景
private int m_alpha = 0; //ALPHA 值,用于渐变效果
private int m_slideAreaX[]; //渐变填充区域
private int m_slideAreaY[];
//------------------------------------
// 构造函数
//------------------------------------
public CSlide(Graphics offG)
{
m_directGraphics = DirectUtils.getDirectGraphics(offG);
}
//------------------------------------
// 渲染渐变效果
// 参数说明:
// color:向这种颜色渐变
// slideSpeed:渐变的速度
//------------------------------------
public void slideScene(int color, int slideSpeed)
{
switch (m_slideState)
{
case 1: //渐入(由暗变亮),alpha 255 --> 0
if (m_alpha > 0)
m_alpha -= slideSpeed;
else
{
m_alpha = 0;
m_slideState = 0; //渐变动画结束
}
m_directGraphics.fillPolygon(m_slideAreaX, 0, m_slideAreaY, 0, 4, color + m_alpha * 0x10000000); //alpha = 0 时是透明
break;
case 2: //渐出(由亮变暗),alpha 0 --> 255
if (m_alpha < 255)
m_alpha += slideSpeed;
else
{
m_alpha = 255;
m_slideState = 3; //变暗后进入 3 状态,即将判断应该切换至哪个场景
}
m_directGraphics.fillPolygon(m_slideAreaX, 0, m_slideAreaY, 0, 4, color + m_alpha * 0x10000000); //alpha = 255 时是不透明
break;
}
}
//------------------------------------
// 设置 ALPHA 值
//------------------------------------
public void setAlpha(int alpha)
{
m_alpha = alpha;
}
//------------------------------------
// 设置渐变状态
//------------------------------------
public void setSlideState(int slideState)
{
m_slideState = slideState;
}
//------------------------------------
// 得到渐变状态
//------------------------------------
public int getSlideState()
{
return m_slideState;
}
//------------------------------------
// 设置渐变填充区域
//------------------------------------
public void setSlideArea(int xPoints[], int yPoints[])
{
m_slideAreaX = xPoints;
m_slideAreaY = yPoints;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -