?? actioncircle.cpp
字號:
#include "ActiveCircle.h"
#include "CircleContainer.h"
CActiveCircle::CActiveCircle(CCircleContainer* aBallAppView, TInt ax,TInt ay)
:CActive(CActive::EPriorityStandard)
{
iCCircleContainer = NULL;
iPoint.SetXY(ax,ay);
iCCircleContainer = aBallAppView;
iTimer.CreateLocal();
vx = 10;
vy = 10;
//將活動對象加入對象調度器
CActiveScheduler::Add(this);
}
CActiveCircle::~CActiveCircle()
{
Cancel();
iTimer.Close();
}
void CActiveCircle::Start()
{
if(IsActive())
{
return;
}
else
{
//調用異步函數
iTimer.After(iStatus,100000);
//激活活動對象
SetActive();
}
}
void CActiveCircle::RunL()
{
int x = iPoint.iX;
int y = iPoint.iY;
x += vx;
y += vy;
if(x < 0)
{
x = -x;
vx = -vx;
}
if(x > 137)
{
x = 264 - x;
vx = -vx;
}
if(y < 0)
{
y = -y;
vy = -vy;
}
if(y > 103)
{
y = 200 - y;
vy = -vy;
}
//設置新座標
iPoint.SetXY(x,y);
//重新繪制屏幕顯示
iCCircleContainer->DrawNow();
//再次啟動
this->Start();
}
void CActiveCircle::DoCancel()
{
iTimer.Cancel();
}
TPoint& CActiveCircle::GetPoint()
{
return iPoint;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -