UI移动和渐隐渐现
来源:互联网 发布:淘宝怎么买vr资源 编辑:程序博客网 时间:2024/05/01 03:58
UI的移动和渐隐渐显 实现简单却能给游戏加载或场景过度一个不错的效果
废话不说 上一个简单的代码
废话不说 上一个简单的代码
#define UI_FADE_SPEED 1
#define UI_MOVE_SPEED 1
// 设置移动目标
void SetMove( int nDstX, int nDstY )
{
m_nMoveToX = nDstX;
m_nMoveToY = nDstY;
m_dwMoveStartTime = TimeGetTime();
}
// 移动 Updating
if ( m_bMoving )
{
int na = m_nMoveToY - rcReal.top;
int nb = m_nMoveToX - rcReal.left;
int nc = sqrt( ( FLOAT )( na * na ) + ( FLOAT )( nb * nb ) );
int nX = 0;
int nY = 0;
int nMoveDistance = UI_MOVE_SPEED * ( TimeGetTime() - m_dwMoveStartTime );
if ( nMoveDistance >= nc )
{
m_bMoving = false;
nX = m_nMoveToX;
nY = m_nMoveToY;
}
else
{
nX = nMoveDistance * nb / nc + rcReal.left;
nY = nMoveDistance * na / nc + rcReal.top;
}
SetPos( nX, nY );
}
// 显示UI 可以开启渐隐渐显
void SetVisable( bool bVisable , bool bFadeInOrOut = false , int nCurAlpha = 0x88, int nMaxAlpha = 0xFF, int nMinAlpha = 0x00 )
{
m_bVisable = bVisable;
m_nFadeCurColorA = nCurAlpha;
m_bFadeInorFadeOut = bFadeInOrOut;
if ( bVisable )
m_dwFadeStartTime = TimeGetTime();
}
// 淡入淡出 Rendering
if ( m_bFadeInorFadeOut )
{
if ( IsVisable() )
{
m_nFadeCurColorA = UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA >= m_nMaxFade )
{
m_nFadeCurColorA = m_nMaxFade;
m_bFadeInorFadeOut = false;
}
}
else
{
m_nFadeCurColorA = 0xff - UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA <= m_nMinFade )
{
m_nFadeCurColorA = m_nMinFade;
m_bFadeInorFadeOut = false;
}
}
}
#define UI_MOVE_SPEED 1
// 设置移动目标
void SetMove( int nDstX, int nDstY )
{
m_nMoveToX = nDstX;
m_nMoveToY = nDstY;
m_dwMoveStartTime = TimeGetTime();
}
// 移动 Updating
if ( m_bMoving )
{
int na = m_nMoveToY - rcReal.top;
int nb = m_nMoveToX - rcReal.left;
int nc = sqrt( ( FLOAT )( na * na ) + ( FLOAT )( nb * nb ) );
int nX = 0;
int nY = 0;
int nMoveDistance = UI_MOVE_SPEED * ( TimeGetTime() - m_dwMoveStartTime );
if ( nMoveDistance >= nc )
{
m_bMoving = false;
nX = m_nMoveToX;
nY = m_nMoveToY;
}
else
{
nX = nMoveDistance * nb / nc + rcReal.left;
nY = nMoveDistance * na / nc + rcReal.top;
}
SetPos( nX, nY );
}
// 显示UI 可以开启渐隐渐显
void SetVisable( bool bVisable , bool bFadeInOrOut = false , int nCurAlpha = 0x88, int nMaxAlpha = 0xFF, int nMinAlpha = 0x00 )
{
m_bVisable = bVisable;
m_nFadeCurColorA = nCurAlpha;
m_bFadeInorFadeOut = bFadeInOrOut;
if ( bVisable )
m_dwFadeStartTime = TimeGetTime();
}
// 淡入淡出 Rendering
if ( m_bFadeInorFadeOut )
{
if ( IsVisable() )
{
m_nFadeCurColorA = UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA >= m_nMaxFade )
{
m_nFadeCurColorA = m_nMaxFade;
m_bFadeInorFadeOut = false;
}
}
else
{
m_nFadeCurColorA = 0xff - UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA <= m_nMinFade )
{
m_nFadeCurColorA = m_nMinFade;
m_bFadeInorFadeOut = false;
}
}
}
- UI移动和渐隐渐现
- 渐隐渐现效果代码
- 渐隐渐现效果代码
- JQuery渐隐渐现
- 渐隐渐现动画
- UGUI DOTween渐隐渐现
- banner渐隐渐现
- UGUI DOTween渐隐渐现
- android游戏中实现渐隐和渐现动画
- iOS渐隐渐现效果跳转
- 图片的渐隐渐现特效代码
- 渐隐渐现的广告图片轮显类dh_adShow
- 两个渐隐渐现图片轮播
- C#自我总结: 窗体渐隐渐现效果
- Div遮罩 Div居中 Div渐隐渐现
- android实现View的渐隐渐现功能
- 如何做渐隐渐现的flash
- Android 实现View的渐隐渐现功能
- 给视图添加映射 并使之弹跳
- 嵌入式根文件系统的移植和制作详解
- MFC界面 坐标获取/转换 及 区域获取
- Oracle 的 procedure
- android 布局权重问题(最近布局经常坑爹)
- UI移动和渐隐渐现
- 解决PLSQL developer 提示乱码问题
- 简单的带动画渐隐效果
- c++ 运算符优先级 来自 c++ primer
- MSRA面经
- PhoneGap与Android之间通信原理
- Java框架介绍:Quartz从入门到进阶
- WPF实现DoEvents
- 获得通讯录中联系人的所有属性