Szukaj…


Instalowanie połysku

Połysk można łatwo zainstalować za pomocą narzędzia Cabal. Po zainstalowaniu Cabala można uruchomić Cabal cabal install gloss aby zainstalować Gloss.

Alternatywnie pakiet można zbudować ze źródła, pobierając źródło z Hackage lub GitHub i wykonując następujące czynności:

  1. Wejdź do katalogu gloss/gloss-rendering/ i cabal install
  2. Wejdź do katalogu gloss/gloss/ i jeszcze raz cabal install

Dostawanie czegoś na ekran

W Połysku można użyć funkcji display aby stworzyć bardzo prostą grafikę statyczną.

Aby go użyć, należy najpierw import Graphics.Gloss . Następnie w kodzie powinny być następujące:

main :: IO ()
main = display window background drawing

window jest typu Display który można zbudować na dwa sposoby:

-- Defines window as an actual window with a given name and size
window = InWindow name (width, height) (0,0)

-- Defines window as a fullscreen window
window = FullScreen

Tutaj ostatni argument (0,0) w programie InWindow oznacza lokalizację lewego górnego rogu.

W wersjach starszych niż 1.11: W starszych wersjach Gloss FullScreen bierze kolejny argument, który ma być rozmiarem narysowanej ramki, która z kolei zostaje rozciągnięta do pełnego ekranu, na przykład: FullScreen (1024,768)

background jest typu Color . Definiuje kolor tła, więc jest tak prosty jak:

background = white

Następnie przechodzimy do samego rysunku. Rysunki mogą być bardzo złożone. Jak je określić, zostaną omówione gdzie indziej ([na chwilę można się do tego odwołać] [1]), ale może to być tak proste jak następujący okrąg o promieniu 80:

drawing = Circle 80

Podsumowujący przykład

Jak mniej więcej stwierdzono w dokumentacji dotyczącej hakowania, uzyskanie czegoś na ekranie jest tak proste, jak:

import Graphics.Gloss

main :: IO ()
main = display window background drawing
    where
      window = InWindow "Nice Window" (200, 200) (0, 0) 
      background = white 
      drawing = Circle 80


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow