风轻云淡
风轻云淡
C++博客
首页
新随笔
联系
聚合
管理
随笔 - 132 文章 - 51 trackbacks - 0
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
box2D(1)
C++(19)
CEGUI(1)
cocos2d(15)
DX(9)
FreeType(5)
GameDevelop(3)
HLSL(3)
Linux(21)
Lua(2)
LUA(3)
LuaPlus(4)
OGRE(3)
OpenGL(4)
SQL(6)
Toolkit(7)
UI(5)
VC(6)
地图编辑器(1)
计算机图形学基础(1)
批处理(1)
日常问题(5)
图像读取(6)
随笔档案
2012年11月 (2)
2012年10月 (4)
2012年9月 (1)
2012年8月 (9)
2012年7月 (19)
2012年6月 (12)
2012年4月 (4)
2012年3月 (5)
2012年1月 (2)
2011年12月 (5)
2011年11月 (2)
2011年9月 (2)
2011年8月 (5)
2011年7月 (10)
2011年6月 (2)
2011年5月 (6)
2011年4月 (3)
2011年2月 (1)
2011年1月 (2)
2010年12月 (4)
2010年10月 (1)
2010年9月 (6)
2010年8月 (3)
2010年7月 (2)
2010年6月 (12)
2010年5月 (8)
文章分类
VC(2)
文章档案
2010年6月 (1)
2010年5月 (1)
cocos2d-x
cocos2d开发网
cocos2d子龙山人
老G 的BLOG
OGRE
OGRE API
OGRE 中文Wiki
SourceForge
NB的代码下载网站
放风筝的程序员
游艺网
自考论坛
自考论坛
OPenGL
gametutorials.com
教程很详细
GLSL
可以使用赋值开发工具RenderMonkey
地形学习
搜代码
搜索
最新评论
1. re: for_each的用法
碉堡了,学习了
--分
2. re: for_each的用法
我选择死亡
--GG思密达
3. re: lua 中pairs 和 ipairs区别
@kyle
谢谢分享
--Rming
4. re: lua 中pairs 和 ipairs区别
感谢分享 获益了
--damnimgood
5. re: win7 下如何安装sql2000数据库(图)
你好,关于WIN7安装MSDE2000,及SQL2000,你的图片怎么不显示呢?看不到呢,安装不上MSDE2000 呢,不知道什么原因呢?我的QQ是12966828,如果有图片能发到我邮箱吗?
--appcoca
阅读排行榜
1. for_each的用法(35505)
2. lua 中pairs 和 ipairs区别(20851)
3. win7 下如何安装sql2000数据库(图)(18185)
4. 向量的点乘和叉乘(转)(16194)
5. cocos2d-x 给Sprite添加Mask(遮罩)(15698)
评论排行榜
1. UI中包裹物品排序(7)
2. cocos2d-x 贝塞尔曲线之游戏应用(6)
3. 游戏消息效率之switch...case && if...else (6)
4. cocos2d-x android游戏使用自己的字体(4)
5. lua 中pairs 和 ipairs区别(3)
UI移动和渐隐渐现
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
;
}
}
}
posted on 2010-12-29 10:39
风轻云淡
阅读(411)
评论(0)
编辑
收藏
引用
所属分类:
UI
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
UI界面血条尾巴效果简单实现
UI移动和渐隐渐现
UI中包裹物品排序
UI问题集锦
UI设计问题集锦
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理