VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

簡諧運動

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sunghsia



註冊時間: 2003-06-13
文章: 52
來自: 台北

第 1 樓

發表發表於: 星期五 九月 02, 2005 4:30 pm    文章主題: 簡諧運動 引言回覆

**************************************************
* 屋子會360度旋轉哦!!!!!!!
* 拷備至: 簡諧運動.PRG
**************************************************

USERFORM=CREATEOBJECT("表單")
USERFORM.SHOW

DEFINE CLASS 表單 AS Form
CAPTION=[點擊房屋離開]
CURRENTX=41
CURRENTY=100
HEIGHT=198
LEFT=102
NAME=[Form1]
TOP=54
VISIBLE=.T.
WIDTH=198

PROCEDURE INIT
public Ppos(4) , PRpos(2), PCpos(4) , PDpos(2), PWpos(3)

Ppos(1) = 0 &&牆壁
Ppos(2) = 90
Ppos(3) = 180
Ppos(4) = 270

PDpos(1) = 205 && 門
PDpos(2) = 245

PWpos(1) = 120 && 窗
PWpos(2) = 160
PWpos(3) = 140

PRpos(1) = 45 && 屋頂
PRpos(2) = 225

PCpos(1) = 30 && 煙囪
PCpos(2) = 60
PCpos(3) = 34
PCpos(4) = 56
ENDPROC

PROCEDURE ACTIVATE
READ EVENTS
ENDPROC

PROCEDURE CLICK
CLEAR EVENTS
THISFORM.RELEASE
ENDPROC

ADD OBJECT Timer1 AS 表單_Timer1
ENDDEFINE

DEFINE CLASS 表單_Timer1 AS Timer
HEIGHT=0
INTERVAL=100
LEFT=0
NAME=[Timer1]
TOP=0
WIDTH=0

PROCEDURE TIMER
Ppos(1)= mod(Ppos(1)+1, 360) && 牆壁
Ppos(2)= mod(Ppos(2)+1, 360)
Ppos(3)= mod(Ppos(3)+1, 360)
Ppos(4)= mod(Ppos(4)+1, 360)
PDpos(1)= mod(PDpos(1)+1, 360) && 門
PDpos(2)= mod(PDpos(2)+1, 360)
PWpos(1)= mod(PWpos(1)+1, 360) && 窗
PWpos(2)= mod(PWpos(2)+1, 360)
PWpos(3)= mod(PWpos(3)+1, 360)
PRpos(1)= mod(PRpos(1)+1, 360) && 屋頂
PRpos(2)= mod(PRpos(2)+1, 360)
PCpos(1)= mod(PCpos(1)+1, 360) && 煙囪
PCpos(2)= mod(PCpos(2)+1, 360)
PCpos(3)= mod(PCpos(3)+1, 360)
PCpos(4)= mod(PCpos(4)+1, 360)

with thisform
.Cls
* 牆壁
.Line (100,100 , 100 + (60* sin(Ppos(1)*0.01745)), 100)
.Line (100,170 , 100 + (60* sin(Ppos(1)*0.01745)), 170)
.Line (100+(60* sin(0.01745*Ppos(1))), 100, 100+(60* sin(0.01745*Ppos(1))), 170)
.Line (100,100 , 100 + (60* -sin(Ppos(1)*0.01745)), 100)
.Line (100,170 , 100 + (60* -sin(Ppos(1)*0.01745)), 170)
.Line (100+(60* -sin(0.01745*Ppos(1))), 100, 100+(60* -sin(0.01745*Ppos(1))), 170)
.Line (100,100 , 100 + (60* sin(Ppos(2)*0.01745)), 100)
.Line (100,170 , 100 + (60* sin(Ppos(2)*0.01745)), 170)
.Line (100+(60* sin(0.01745*Ppos(2))), 100, 100+(60* sin(0.01745*Ppos(2))), 170)
.Line (100,100 , 100 + (60* -sin(Ppos(2)*0.01745)), 100)
.Line (100,170 , 100 + (60* -sin(Ppos(2)*0.01745)), 170)
.Line (100+(60* -sin(0.01745*Ppos(2))), 100, 100+(60* -sin(0.01745*Ppos(2))), 170)

* 門
.Line (100+(45* sin(0.01745*PDpos(1))), 130, 100+(45* sin(0.01745*PDpos(1))), 170)
.Line (100+(45* sin(0.01745*PDpos(2))), 130, 100+(45* sin(0.01745*PDpos(2))), 170)
.Line (100+(45* sin(0.01745*PDpos(1))), 130, 100+(45* sin(0.01745*PDpos(2))), 130)

* 屋頂
.Line (100+(30*sin(0.01745 * PRpos(1))), 70 , 100+(30*sin(0.01745 * PRpos(2))), 70)
.Line (100+(30*sin(0.01745 * PRpos(1))), 70 , 100+(60*sin(0.01745 * Ppos(1))), 100)
.Line (100+(30*sin(0.01745 * PRpos(1))), 70 , 100+(60*sin(0.01745 * Ppos(2))), 100)
.Line (100+(30*sin(0.01745 * PRpos(2))), 70 , 100+(60*sin(0.01745 * Ppos(3))), 100)
.Line (100+(30*sin(0.01745 * PRpos(2))), 70 , 100+(60*sin(0.01745 * Ppos(4))), 100)

*--------------可加入---------------------------------------------------------------
* 煙囪
*.Line (100+(45* sin(0.01745 * PCpos(1))), 10 , 100+(45* sin(0.01745 * PCpos(1))), 170)
*.Line (100+(45* sin(0.01745 * PCpos(2))), 10 , 100+(45* sin(0.01745 * PCpos(2))), 170)
*.Line (100+(60* sin(0.01745 * PCpos(3))), 10 , 100+(60* sin(0.01745 * PCpos(3))), 170)
*.Line (100+(60* sin(0.01745 * PCpos(4))), 10 , 100+(60* sin(0.01745 * PCpos(4))), 170)
*.Line (100+(45* sin(0.01745 * PCpos(1))), 170 , 100+(45* sin(0.01745 * PCpos(2))), 170)
*.Line (100+(45* sin(0.01745 * PCpos(2))), 170 , 100+(60* sin(0.01745 * PCpos(3))), 170)
*.Line (100+(60* sin(0.01745 * PCpos(3))), 170 , 100+(60* sin(0.01745 * PCpos(4))), 170)
*.Line (100+(60* sin(0.01745 * PCpos(4))), 170 , 100+(45* sin(0.01745 * PCpos(1))), 170)
*.Line (100+(45* sin(0.01745 * PCpos(1))), 10 , 100+(45* sin(0.01745 * PCpos(2))), 10)
*.Line (100+(45* sin(0.01745 * PCpos(2))), 10 , 100+(60* sin(0.01745 * PCpos(3))), 10)
*.Line (100+(60* sin(0.01745 * PCpos(3))), 10 , 100+(60* sin(0.01745 * PCpos(4))), 10)
*.Line (100+(60* sin(0.01745 * PCpos(4))), 10 , 100+(45* sin(0.01745 * PCpos(1))), 10)

*--------------可加入---------------------------------------------------------------
* 窗
*.Line (100+(45* sin(0.01745*PWpos(1))), 120, 100+(45* sin(0.01745*PWpos(2))), 120)
*.Line (100+(45* sin(0.01745*PWpos(1))), 130, 100+(45* sin(0.01745*PWpos(2))), 130)
*.Line (100+(45* sin(0.01745*PWpos(1))), 140, 100+(45* sin(0.01745*PWpos(2))), 140)
*.Line (100+(45* sin(0.01745*PWpos(1))), 120, 100+(45* sin(0.01745*PWpos(1))), 140)
*.Line (100+(45* sin(0.01745*PWpos(2))), 120, 100+(45* sin(0.01745*PWpos(2))), 140)
*.Line (100+(45* sin(0.01745*PWpos(3))), 120, 100+(45* sin(0.01745*PWpos(3))), 140)

endwith
ENDPROC
ENDDEFINE
回頂端
檢視會員個人資料 發送私人訊息
yoncen



註冊時間: 2005-08-29
文章: 35


第 2 樓

發表發表於: 星期六 九月 03, 2005 8:25 am    文章主題: 引言回覆

好玩。呵呵。。
_________________
從事企業ERP開發,學會止境,精益求精。
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 3 樓

發表發表於: 星期六 九月 03, 2005 12:06 pm    文章主題: 引言回覆

勁! Smile
_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作