home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Delphi.5 / Doc / Other / DX_DELPH.exe / L16.TXT < prev    next >
Encoding:
Text File  |  1998-12-05  |  2.9 KB  |  88 lines

  1. ╠≤δ≥Φ∞σΣΦΦ Φ Φπ≡√
  2. ╫α±≥ⁿ VII
  3.  
  4. ┬√ ∞εµσ≥σ τα∞σ≥Φ≥ⁿ Φ Ωεφ÷σ Σε∩εδφΦ≥σδⁿφ≤■ ±≥≡εΩ≤, Γ√τ√Γα■∙≤■ ∞σ≥εΣ εßφεΓδσφΦ  ∩ετΦ÷ΦΦ ≥ε≡α. ▀ ≡σ°Φδ ±Σσδα≥ⁿ
  5. Σσ∞εφ±≥≡α÷Φ■ ßεδσσ Φφ≥σ≡σ±φεΘ, ∩≡σΣε±≥αΓΦΓ Γα∞ Γετ∞εµφε±≥ⁿ ∩σ≡σΣΓΦπα≥ⁿ αφΦ∞α÷Φεφφ√Θ εß·σΩ≥ ∩ε ²Ω≡αφ≤ ± ∩ε∞ε∙ⁿ■
  6. ΩδαΓΦα≥≤≡√. ▌≥ε δσπΩε ±Σσδα≥ⁿ: ∩ετΦ÷Φ  ⌡≡αφΦ≥±  Γ Ωδα±±σ TSirnpleAnim. ╦Φ±≥Φφπ 32.24 ∩≡σΣ±≥αΓδ σ≥ ΩεΣ ∞σ≥εΣα Move.
  7.  
  8. ╦Φ±≥Φφπ 32.24 ╠σ≥εΣ Move ∩σ≡σΣΓΦπασ≥ αφφΦ∞α÷Φεφφ√Θ εß·σΩ≥ Γ ∩≡σΣσδα⌡ ²Ω≡αφα.
  9.  
  10. procedure TForinl.Move( dx, dy : integer  ) ;
  11. var i, nFrom, nTo : integer ;
  12. begin
  13. / / ∩σ≡σ∞σ±≥Φ≥ⁿ ≥ε≡√
  14.  
  15. if Assigned ( Animations ) then begin
  16. if MoveOption = 0 then begin
  17. nFrom := 0 ;
  18.  
  19. nTo : = Animations. Count - I ;
  20. end else begin
  21. nFrom : = MoveOption - I;
  22. nTo := nFrom ;
  23. end ;
  24.  
  25. for i := nFrom to nTo do begin
  26. with TSimpleAnim ( Animations [i]) do begin
  27. X := X+dx ;
  28. if X < 0 then X := 0 else
  29. if X > 640 - 64 then X := 640 -         64 :
  30. I := I + dy ;
  31. if Y < 0 then Y := 0 else
  32. if Y > 480 - 64 then Y := 480 -         64 ;
  33. end ;
  34. end ;
  35. end ;
  36. end;
  37.  
  38. ╠σ≥εΣ Φ±∩εδⁿτ≤σ≥ ΣΓα ∩α≡α∞σ≥≡α, Ωε≥ε≡√σ ∩≡σΣ±≥αΓδ ■≥ ≡α±±≥ε φΦσ Γ ∩ΦΩ±σδα⌡ Σδ  ∩σ≡σΣΓΦµσφΦ  αφΦ∞α÷Φεφφεπε εß·-
  39. σΩ≥α ε≥φε±Φ≥σδⁿφε ΩαµΣεΘ Φτ ε±σΘ. ▀ ΣεßαΓΦδ Ω ⌠ε≡∞σ σ∙σ εΣφε ∩εδσ, φατ√Γασ∞εσ MovedOption. MoveOption ∩≡ΦφΦ∞ασ≥
  40. ∩εδεµΦ≥σδⁿφεσ τφα≈σφΦσ ≥Φ∩α integer: 0 ετφα≈ασ≥, ≈≥ε ß≤Σ≤≥ ∩σ≡σΣΓΦπα≥ⁿ±  Γ±σ αφΦ∞α÷Φεφφ√σ εß·σΩ≥√, Φ δ■ßεσ Σ≡≤πεσ ≈Φ±δε
  41. ≡ατ≡σ°ασ≥ ∩σ≡σΣΓΦµσφΦσ ≥εδⁿΩε ε∩≡σΣσδσφφεπε αφΦ∞α÷Φεφφεπε εß·σΩ≥α. ╬∩≡σΣσδΦΓ ΣΦα∩ατεφ Φ±∩εδⁿτεΓαφΦ  αφΦ∞α÷Φεφ-
  42. φ√⌡ εß·σΩ≥εΓ (δΦßε Γ±σ εß·σΩ≥√ Γ∞σ±≥σ, δΦßε εΣΦφ σΣΦφ±≥Γσφφ√Θ εß·σΩ≥), Γ√ ÷ΦΩδΦ≈σ±ΩΦ ∩≡ε⌡εΣΦ≥σ ∞α±±ΦΓ Animations,
  43. ΣεßαΓδ   dx Φ dy Γ ΩαµΣ≤■ αφΦ∞α÷Φεφφ≤■ ∩ετΦ÷Φ■. Move ≥αΩµσ ±δσΣΦ≥ τα ≥σ∞, ≈≥εß√ αφΦ∞α÷Φεφφ√σ εß·σΩ≥√ φσ Γ√⌡εΣΦδΦ
  44. τα ∩≡σΣσδ√ ²Ω≡αφα.
  45.  
  46. ╬ß≡αßε≥Ωα ΓΓεΣα ± ΩδαΓΦα≥≤≡√
  47.  
  48. ▀ ∞εΣΦ⌠Φ÷Φ≡εΓαδ εß≡αßε≥≈ΦΩ OnKeyDown Σδ  εß≡αßε≥ΩΦ φαµα≥ΦΘ ΩδαΓΦ° Ω≤≡±ε≡α, Ωε≥ε≡√σ Φ±∩εδⁿτ≤■≥±  Σδ  ∩σ≡σ-
  49. ΣΓΦµσφΦ  αφΦ∞α÷Φεφφ√⌡ εß·σΩ≥εΓ ∩ε ²Ω≡αφ≤, ΩαΩ ∩≡σΣ±≥αΓδσφε Γ δΦ±≥Φφπσ 32.25.
  50.  
  51. ╦Φ±≥Φφπ 32.25 ╧σ≡σΣΓΦµσφΦσ αφΦ∞α÷Φεφφ√⌡ εß·σΩ≥εΓ ± ∩ε∞ε∙ⁿ■ ΩδαΓΦ° Ω≤≡±ε≡α.
  52.  
  53. procedure TForml.FormKeyDown (Sender: TObject; var Key: Word;
  54.  
  55. Shift: TShiftState) ;
  56. var Speed : integer ;
  57.  
  58. Anoption : integer ;
  59. begin
  60. Speed := 4 ;
  61.  
  62. if ssShift in Shift then Speed := I ;
  63. case Key of
  64.  
  65. VK_ESCAPE, VK_F12 : Close ;
  66. VK_LEFT : XVelocity := -Speed ;
  67. VK_RIGHT : XVelocity := Speed ;
  68. VK_UP    : YVelocity := -Speed ;
  69. VK_DOWN : YVelocity := Speed ;
  70. VK_SHIFT : begin
  71.  
  72. if Abs( XVelocity ) > I then XVelocity := XVelocity div 4 ;
  73. if Abs( YVelocity ) > I then YVelocity :== YVelocity div 4 ;
  74.  
  75. end ;
  76.  
  77. by1:e( '0' )..byte( '9' )   : begin
  78. Anoption := Key -48 ;
  79.  
  80. if Anoption <= Animations. Count then MoveOption : = Anoption
  81. end ;
  82. end ;
  83. end;
  84.  
  85. ┼±δΦ ≤Σσ≡µΦΓα≥ⁿ ΩδαΓΦ°≤ Shift, αφΦ∞α÷Φεφφ√Θ εß·σΩ≥ ß≤Σσ≥ ∩σ≡σΣΓΦπα≥ⁿ±  Γ ≈σ≥√≡σ ≡ατα ∞σΣδσφφσΘ, Σδ  ²≥επε φσεß⌡ε-
  86. ΣΦ∞ε ε∩≡σΣσδ ≥ⁿ τφα≈σφΦσ δεΩαδⁿφεΘ ∩σ≡σ∞σφφεΘ Speed. ▀ ΣεßαΓΦδ ∩εδ  ±Ωε≡ε±≥σΘ XVelocity Φ YVelocity, Ωε≥ε≡√σ ∩εδ≤≈α■≥
  87.  
  88.