線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3417
推到 Plurk!
推到 Facebook!

請問如何重複產生相同的圖片?

缺席
t20004571
一般會員


發表:2
回覆:3
積分:1
註冊:2007-06-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-28 23:15:04 IP:61.217.xxx.xxx 訂閱
小弟我有作一個跳舞機的小遊戲
在舞標的部份卡住了...
現在的解決方法是
用4個Image物件載入相同的圖片
每個Image都被一個Timer所控制
最後再由一個Timer控制所有的Timer
總之工程浩大而且還會LAG!!
所以就在想不知道相同的圖片可不可以重複產生
然後移動的方向跟格數也都相同
使用以後就刪除,這樣應該比較不會LAG吧
不知道表達的完不完整...
先貼一些我寫的程式

(控制Timer用)

void __fastcall TForm1::Timer17Timer(TObject *Sender) //最主要的Timer
{
sprintf(s,"%.1f",q);
Label3->Caption=s;
q=q 0.1;
music();
switch(g)
{
case 1:if(Label3->Caption=="1.0"){Image30->Visible=false;Timer39->Enabled=false;g ;}break;
case 2:if(Label3->Caption=="2.9"){MediaPlayer1->Play();g ;}break;
case 3:if(Label3->Caption=="4.2"){Timer9->Enabled=true;g ;}break; //當Label3=4.2時啟動Timer9
case 4:if(Label3->Caption=="4.4"){Timer10->Enabled=true;g ;}break;
case 5:if(Label3->Caption=="4.6"){Timer11->Enabled=true;g ;}break;
.
.
.
case 336:if(Label3->Caption=="112.0"){over();}break;
}
}

(控制Image用)

void __fastcall TForm1::Timer9Timer(TObject *Sender)
{
Image13->Top=Image13->Top-9;
if(a==1)
{
if(Image13->Top < 1)
{
if(CGauge1->Progress == 0)
{
over();
}
Image13->Top=600;
Timer9->Enabled=false;
miss();
}
}
else
{
if(Image13->Top < 1)
{
Image13->Top=600;
Timer9->Enabled=false;
a=1;
}
}
if(Image44->Visible==true)
{
v=0;
Image39->Visible=false;
Label7->Visible=false;
}
}

像這樣控制Image的還有3個
不過這才只是代表左邊的舞標
所以我總共用了16個Image跟Timer才笨笨的做出來
希望各位前輩們可以告知小弟我重複出圖的方法!!
不知道繼承可不可以達成??
haha0738
一般會員


發表:12
回覆:19
積分:6
註冊:2007-08-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-12 15:09:22 IP:59.120.xxx.xxx 訂閱
用一個Image一個Image List一個Timer 
就可以解決了吧
在Image上繪圖就可以了
系統時間:2024-03-29 2:04:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!