home *** CD-ROM | disk | FTP | other *** search
- ╚π≡εΓεΘ SDK
- ├δαΓα 32
-
- ╦Φ±≥Φφπ 32.7 ╥σ±≥Φ≡εΓαφΦσ φαµα≥Φ ΩδαΓΦ° Escape Φ F12.
-
- procedure TForml.ForinKeyDown (Sender: TObject; var Key: Word;
- Shift: TShiftState) ;
-
- begin
-
- // σ±δΦ φαµα≥√ ΩδαΓΦ°Φ Escape ΦδΦ F12, ταΓσ≡°Φ≥ⁿ ∩≡ΦδεµσφΦσ
- case Key of
-
- VK_ESCAPE, òVK_F12 : Close ;
- end ;
-
- end;
-
- ╚ ucc! ┬√ φαΘΣσ≥σ ∩≡Φ∞σ≡ u DDDemo3. ┼±δΦ Γ√ τα∩≤±≥Φ≥σ σπε, Φ√ ≤ΦΦΣΦ≥σ φα ²Ω≡αφσ ∞σδⁿΩαφΦσ ±∞σφ ■∙Φ⌡ Σ≡≤π Σ≡≤πα
- ∩εΓσ≡⌡φε±≥σΘ GDI, Ωε≥ε≡√σ ±εΣσ≡µα≥ ⌠ε≡∞√ ≡ατ∞σ≡ε∞ ± ²Ω≡αφ, Φ ⌠εφεΓ√Θ ß≤⌠σ≡, Ωε≥ε≡√Θ, Γσ≡ε ≥φε, τα∩εδφσφ ≡ατδΦ≈φ√-
- ∞Φ ßΦ≥α∞Φ "ε±≥α≥ΩεΓ" ε≥εß≡αµσφΦ . ╧ε∞φΦ≥σ, Σδ Γ√⌡εΣα ±δσΣ≤σ≥ φαµα≥ⁿ Esc ΦδΦ F12 (ΦδΦ Ωεφσ≈φε µσ Alt+F4).
-
- ╧εδ≤≈σφΦσ Σε±≥≤∩α Ω ⌠εφεΓε∞≤ ß≤⌠σ≡≤
-
- ╥σ∩σ≡ⁿ, ΩεπΣα Γ√ ∩ετφαδΦ ε±φεΓ√ ∩≡ΦδεµσφΦ ±∞σφ√ ±≥≡αφΦ÷, Γ√, Γσ≡ε ≥φε, τα⌡ε≥Φ≥σ ≈≥ε-φΦß≤Σⁿ ± φΦ∞ ±Σσδα≥ⁿ. ┬√
- φ≤µΣασ≥σ±ⁿ Γ ≥ε∞, ≈≥εß√ Φ∞σ≥ⁿ Γετ∞εµφε±≥ⁿ ≡Φ±εΓα≥ⁿ φα ∩εΓσ≡⌡φε±≥Φ ⌠εφεΓεπε ß≤⌠σ≡α. ╬ΣφαΩε, Γ ∩ε±δσΣφσΘ ±σΩ÷ΦΦ Γ√
- ±ετΣαδΦ Ωε∞∩δσΩ±φ≤■ ∩εΓσ≡⌡φε±≥ⁿ, Ωε≥ε≡α αΓ≥ε∞α≥Φ≈σ±ΩΦ ±ετΣαδα Σδ φα± ⌠εφεΓ√Θ ß≤⌠σ≡. ╧≡εßδσ∞α ταΩδ■≈ασ≥± Γ ≥ε∞,
- ≈≥ε ⌠≤φΩ÷Φ CreateSurface τα∩εδφΦδα ∩εδσ PrimaryField (ε±φεΓφα ∩εΓσ≡⌡φε±≥ⁿ), Φ Γ√ Σεδµφ√ ∩εδ≤≈Φ≥ⁿ Σε±≥≤∩ Ω ⌠εφεΓε∞≤
- ß≤⌠σ≡≤. ─δ ²≥επε ∞εµφε Γ√τΓα≥ⁿ ∞σ≥εΣ GetAttachedSurface. ─εßαΓⁿ≥σ ∩εδσ ⌠εφεΓεπε ß≤⌠σ≡α BackBuffer Ω ⌠ε≡∞σ Φ ΩεΣ Φτ
- δΦ±≥Φφπα 32.8 - Ω OnShow:
-
- ╦Φ±≥Φφπ 32.8 ─ε±≥≤∩ Ω ∩εΓσ≡⌡φε±≥Φ ⌠εφεΓεπε ß≤⌠σ≡α.
-
- { ∩εδ≤≈Φ≥ⁿ ⌠εφεΓ τΘ ß≤⌠σ≡ }
- DDSCaps . dwCaps : = DDSCAPS_BACKBUFFER ;
-
- if PrimarySurface.GetAttachedSurface( DDSCaps, BackBuffer ) <> DD_OK then
- Raise Exception. Create ( 'Failed to get back buffer surface' ) ;
-
- DDSCaps Γδ σ≥± δεΩαδⁿφεΘ ∩σ≡σ∞σφφεΘ ≥Φ∩α TDDSCaps, Ωε≥ε≡α ΣεßαΓδ σ≥± Ω εß≡αßε≥≈ΦΩ≤ FormShow. ┬√ τα∩εδφ -
- σ≥σ ⌠δαµΩΦ Σδ φσεß⌡εΣΦ∞εΘ ∩≡Φ±εσΣΦφσφφεΘ ∩εΓσ≡⌡φε±≥Φ Φ Γ√τ√Γασ≥σ GetAttachedSurface. ┬ ²≥ε∞ ±δ≤≈ασ Γα∞ φσεß⌡εΣΦ∞
- ⌠εφεΓ√Θ ß≤⌠σ≡. ╠σ≥εΣ ∞εµσ≥ Γσ≡φ≤≥ⁿ ≥εδⁿΩε εΣφ≤ ∩εΓσ≡⌡φε±≥ⁿ. ┬√τεΓ φα∩≡α±σφ, σ±δΦ ßεδσσ ≈σ∞ εΣφα ∩≡Φ±εσΣΦφσφφα
- ∩εΓσ≡⌡φε±≥ⁿ ±εε≥Γσ≥±≥Γ≤σ≥ ∩σ≡σΣαφφ√∞ ⌠δαµΩα∞ DDSCaps. ╬ΣφαΩε, φσ Φ∞σσ≥ τφα≈σφΦ , ±ΩεδⁿΩε ⌠εφεΓ√⌡ ∩εΓσ≡⌡φε±≥σΘ Γ√
- ±ετΣαδΦ, ±≤∙σ±≥Γ≤σ≥ ≥εδⁿΩε εΣφα ∩εΓσ≡⌡φε±≥ⁿ ± ⌠δαµΩε∞ ⌠εφεΓεπε ß≤⌠σ≡α, Φ εφα Γδ σ≥± ∩σ≡ΓεΘ Γ ÷σ∩Φ ±∞σφφ√⌡ ∩εΓσ≡-
- ⌡φε±≥σΘ ∩ε±δσ ε±φεΓφεΘ. ┼±δΦ φσεß⌡εΣΦ∞ε ∩εδ≤≈Φ≥ⁿ Γ±σ ∩≡Φ±εσΣΦφσφφ√σ ∩εΓσ≡⌡φε±≥Φ, ∞εµφε Γ√τΓα≥ⁿ ⌠≤φΩ÷Φ■ EnumAt-
- tachedSurfaces.
-
- ┬ε±±≥αφεΓδσφΦσ ∩εΓσ≡⌡φε±≥σΘ
-
- ╬Σφα Φτ ∞φεπΦ⌡ ε±εßσφφε±≥σΘ DirectDraw ταΩδ■≈ασ≥± Γ ≥ε∞, ≈≥ε ∩εΓσ≡⌡φε±≥Φ ∞επ≤≥ ∩ε≥σ≡ ≥ⁿ ±Γε■ ∩α∞ ≥ⁿ ∩ε ∞φεπΦ∞
- ∩≡Φ≈Φφα∞; φα∩≡Φ∞σ≡, ΩεπΣα Φτ∞σφ σ≥± ≡σµΦ∞ ε≥εß≡αµσφΦ . ┼±δΦ ²≥ε ∩≡εΦ±⌡εΣΦ≥, Γ√ Σεδµφ√ Γ√τΓα≥ⁿ ∞σ≥εΣ Restore ∩εΓσ≡-
- ⌡φε±≥Φ, ≈≥εß√ ∩εδ≤≈Φ≥ⁿ ±Γε■ ∩α∞ ≥ⁿ εß≡α≥φε. ┬√ ≥αΩµσ Σεδµφ√ ∩σ≡σ≡Φ±εΓα≥ⁿ ∩εΓσ≡⌡φε±≥ⁿ. ▌≥ε φσ±ΩεδⁿΩε φα∩ε∞Φφασ≥ ≥ε,
- ΩαΩ ≤ Γα± ΓετφΦΩασ≥ φσεß⌡εΣΦ∞ε±≥ⁿ φα≡Φ±εΓα≥ⁿ εΩφε Γ εß√≈φε∞ ∩≡επ≡α∞∞Φ≡εΓαφΦΦ Σδ Windows, ΩεπΣα εφε ∩σ≡σΩ≡√Γασ≥± Φ
- φ≤µΣασ≥± Γ εßφεΓδσφΦΦ. ┴εδⁿ°Φφ±≥Γε Φτ ⌠≤φΩ÷ΦΘ IDirectDrawSurface ∞επ≤≥ ΓετΓ≡α≥Φ≥ⁿ ≡στ≤δⁿ≥α≥ DDERR_SLIRFACELOST.
- ╩επΣα ²≥ε ∩≡εΦ±⌡εΣΦ≥, Γ√ Σεδµφ√ Γε±±≥αφεΓΦ≥ⁿ ∩εΓσ≡⌡φε±≥ⁿ Φ ∩σ≡σ≡Φ±εΓα≥ⁿ σσ. ╠φεπΦσ Φτ ²≥Φ⌡ ⌠≤φΩ÷ΦΘ ≥αΩµσ ∞επ≤≥ Γσ≡-
- φ≤≥ⁿ DDERR_WASSTILLDRAWING, ≈≥ε ∩ε ±≤≥Φ ετφα≈ασ≥, ≈≥ε α∩∩α≡α≥φεσ εßσ±∩σ≈σφΦσ ταφ ≥ε Φ τα∩≡ε± φσεß⌡εΣΦ∞ε ∩εΓ≥ε-
- ≡ ≥ⁿ Σε ≥σ⌡ ∩ε≡, ∩εΩα Γ√ φσ Σεßⁿσ≥σ±ⁿ ≤±∩σ⌡α, ΦδΦ ∩εΩα Γ√ φσ ∩εδ≤≈Φ≥σ Φφεσ ±εεß∙σφΦσ εß ε°ΦßΩσ.
-
- ┬ε≥ ε±φεΓε∩εδαπα■∙α δεπΦ≈σ±Ωα ±⌡σ∞α, Φ±∩εδⁿτ≤■∙α ∞σ≥εΣ Flip. ▌≥ε≥ ∩≡Φ∞σ≡ ∩≡σΣφατφα≈σφ ≥εδⁿΩε Σδ ≥επε, ≈≥εß√
- ΓΓσ±≥Φ Γα± Γ Ω≤≡±. ╬φ φσ ∩σ≡σ≡Φ±εΓ√Γασ≥ ∩εΓσ≡⌡φε±≥Φ. ╤∞ε≥≡Φ≥σ δΦ±≥Φφπ 32.9.
-
- ╦Φ±≥Φφπ 32.9 "╥≡αΣΦ÷Φεφφ√Θ" ΩεΣ Σδ ∩≡εΓσ≡ΩΦ Φ Γε±±≥αφεΓδσφΦ ∩εΓσ≡⌡φε±≥Φ.
-
- repeat
-
- DDResult := PrimarySurf α±σ. Flip ( NIL, 0 ) ;
- case DDResult of
- DD_OK : break ;
- DDERR_SURFACELOST : begin
- DDResult := PrimarySurface. Restore () ;
- if DDResult <> DD_OK then break ;
- end ;
-
- else if DDResult <> DDERR_WASSTILLDRAWING then break
- end ;
- until false ;
-
- ╤α∞εσ φαΣεσΣδΦΓεσ ≥ε, ≈≥ε Γα∞ φσεß⌡εΣΦ∞ ∩εΣεßφ√Θ ΩεΣ ∩≡αΩ≥Φ≈σ±ΩΦ Σδ ΩαµΣεπε Γ√τεΓα ∞σ≥εΣα IDirectDrawSurface.
- ┬± ΩΦΘ ≡ατ, ΩεπΣα ±∩σ÷Φ⌠ΦΩα÷Φ Γ√τεΓα Γ ±∩≡αΓΩσ Game SDK ±εΣσ≡µΦ≥ DERR_SLJRFACELOST Γ Ωα≈σ±≥Γσ Γετ∞εµφεπε
- ≡στ≤δⁿ≥α≥α, ²≥ε φσεß⌡εΣΦ∞ε. ═ε Pascalù±≥≡≤Ω≥≤≡Φ≡εΓαφφ√Θ τ√Ω Γ√±εΩεπε ≤≡εΓφ , φσ ≥αΩ δΦ? ╥αΩΦ∞ εß≡ατε∞, ∩ε≈σ∞≤ ß√ φσ
- φα∩Φ±α≥ⁿ φσßεδⁿ°εΘ ±σ≡ΓΦ±φ√Θ ∞σ≥εΣ Σδ εΩαταφΦ ≥αΩεΘ ∩ε∞ε∙Φ? ┬ε≥ ²≥ε≥ ∞σ≥εΣ ± Φ∞σφσ∞ εΣφεπε Φτ ∞εΦ⌡ δ■ßΦ∞√⌡ °ε≤.
- (╬φε φσ Σασ≥ Γετ∞εµφε±≥Φ ±σß ταß√≥ⁿ!) ╬φε ∩≡σΣ±≥αΓδσφε Γ δΦ±≥Φφπσ 32.10.
-
-