⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cslide.java

📁 经典java手机游戏J2me(Rpj游戏)
💻 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 + -