  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		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開發,學會止境,精益求精。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		catjoke
 
 
  註冊時間: 2003-06-16 文章: 175 來自: 香港
  第 3 樓
  | 
		
			
				 發表於: 星期六 九月 03, 2005 12:06 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				勁!   _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^0^; | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |