Zaawansowany kurs języka Python



Podobne dokumenty
Zaawansowany kurs języka Python

PyGame Gra w Ponga. Spis treści

PyGame Gra w Kółko i Krzyżyk

PyGame Gra w Życie Conwaya

Tekst ozdobny i akapitowy

WAGA ELEKTRONICZNA SM-5100

Instrukcja obsługi. Oprogramowanie SAS 31

ZAJĘCIA KOMPUTEROWE Kryteria ocen klasa IV

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Zakres I Czytnik kodów kreskowych Nazwa i model oferowanego sprzętu

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

OPIS PRZEDMIOTU ZAMÓWIENIA:

Microsoft Management Console

Wewnątrzszkolny system kształcenia PLAN WYNIKOWY

Uprawnienia do dysponentów/jednostek organizacyjnych Uprawnienia do operacji. System EUROBUDŻET Aplikacja Księga Główna Aplikacja Środki trwałe

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

Technologie Informacyjne

Tworzenie aplikacji internetowych E14

Wykład 2. Budowa komputera. W teorii i w praktyce

Certyfikaty Certum Podpis w Adobe Reader

Specyfikacja techniczna banerów Flash

BCS Manager Instrukcja Obsługi

46 Korzystanie z wyświetlacza. System Microsoft Windows XP. System Microsoft Windows Vista

LINEA Office INSTRUKCJA OBS UGI

Arkusz kalkulacyjny MS Excel podstawy

Generalnie przeznaczony jest do obsługi systemów klimatyzacyjnych i chłodniczych.

Konfiguracja historii plików

Szczegółowe cele edukacyjne i treści nauczania. KLASA 6

KONSOLE RACK 19. Przegląd oferty iei Technologies

Automatyczne spisy. Wojciech Myszka, Maciej Panek Październik 2014

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Rozdział 4. Rozpoczynanie, zawieszanie i kończenie pracy z systemem (33)

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

Spis procedur i programów

GRAFIKA PROGRAMOWANA W PASCALU ==================================

Zmiany w programie C GEO v. 6.5

UNIWERSALNY PULPIT STEROWANIA

Praktyka programowania projekt

Karta sieciowa WiFi Micro USB N300 (N300MA)

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Procesor: w architekturze x86, osiągający co. wbudowane głośniki 2 x 1 W. Strona 1 z 11

PROGRAM NAUCZANIA INFORMATYKA

STEREO RADIO FM Z ODTWARZACZEM MP3 / CD SCD-24 MP3

9. Dynamiczne generowanie grafiki, cz. 3

WordPad. Czyli mój pierwszy edytor tekstu

INTERFEJS S-CTT Super Chip tuning tool INSTRUKCJA OBSŁUGI

Szczegółowy opis przedmiotu zamówienia

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

1 Usługa POTS 20,05. 2 Usługa ISDN-BRA 29,16. 3 Usługa ISDN-PRA za 15 kanałów 463,84

CHEVROLET MYLINK. Krótki przewodnik

AKADEMIA MORSKA W SZCZECINIE

PROGRAM ZAJĘĆ INFORMATYCZNYCH NIE TYLKO GG REALIZOWANYCH W RAMACH PROJEKTU RADOŚĆ UCZENIA SIĘ

PROBIT Wysoka Kultura w Księgowości

Głośnik HP Roar Plus. Inne funkcje

Dell Vostro 3300/3400/3500/3700

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

Joyce Cox Joan Lambert. Microsoft PowerPoint Krok po kroku. Przekład: Leszek Biolik

Ekran startowy płyty instalacyjnej umozliwia nam wybór

Urządzenia wskazujące i klawiatura Instrukcja obsługi

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

SFML. (Simple and Fast Multimedia Library)

Instrukcja obsługi GPS VORDON

mprofi.pl nowa generacja usług mobilnych TWOJA APLIKACJA MOBILNA: Komunikator na smartfony

Sterownik AVerMedia i instalacja tunera TV w systemie Windows Media Center

PL/SQL. Zaawansowane tematy PL/SQL

Przeniesienie lekcji SITA z płyt CD na ipoda touch

Zasady korzystania z łączności bezprzewodowej podczas pracy na stanowisku ratowniczym

CitiDirect EB - Mobile

Loggery Szumu SebaLog N3. - Nowy design - Nowe funkcje - Nowa konsola Commander3 - Nowa funkcjonalność: zastosowanie w sieci (zdalny monitoring)

Plan prezentacji. Tworzenie prezentacji multimedialnej. Piotr Odya

Accelerated Graphics Port AGP Advanced Graphics Port AGP jest magistralą równoległą.

Wykład 4 Wybrane zagadnienia programowania w C++

Program kółka informatycznego dla uczniów klas trzecich Szkoły Podstawowej nr 17 w Chorzowie. Wstęp

Przenośny akumulator, powerbank Mipow SP2600M-BK, 2600 mah, Li-Ion, Złącze USB, Micro-USB

Zapytanie ofertowe. Zaproszenie do złożenia oferty cenowej

Kifoplastyka i wertebroplastyka

Krótki wstęp do biblioteki OpenCV. Jak wykorzystać kamerkę internetową do przetwarzania obrazów.

Stacjonarne Wszystkie Katedra Inżynierii Produkcji dr Sławomir Luściński. Kierunkowy Nieobowiązkowy Polski Semestr trzeci. Semestr zimowy Brak Tak

Możliwości publikacji zbiorów danych przestrzennych w ramach infrastruktury informacji przestrzennej z zastosowaniem komponentów GUGiK

Instrumenty wirtualne z LabVIEW. Akademia Górniczo - Hutnicza im.stanisława Staszica w Krakowie, Wydział Inżynierii Materiałowej i Ceramiki

KSIĘGA ZNAKU TOTORU S.C.

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

Konfiguracja programu RMS do współpracy z wagami DIBAL. Programowanie artykułów 3

Nazwa asortymentu Parametry techniczne Gwarancja w latach

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

INSTRUKCJA WebPTB 1.0

Intellect. Business Intelligence. Biblioteka dokumentów Podręcznik. Business Intelligence od 2Intellect.com Sp. z o.o.

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Instrukcja obsługi Czujnik refleksyjny O5PG

Architektura Systemów Komputerowych. Sterowanie programem skoki Przerwania

Przed Tobą znajduje się kilka prostych zadań praktycznych dotyczących języka HTML.

Obsługa pakietu biurowego OFFICE

SAMOCHODOWA KAMERA HD

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

PRAKTYKA PRZETWARZANIA OBRAZU W PROGRAMIE MATLAB

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Jak zaprogramować procesor i. wgrać firmwar-e do yampp3usb. Copyright SOFT COM sp. z o. o.

Transkrypt:

PyGame 12 stycznia 2012

Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D: ręczna implementacja OpenGL Wprowadzenie Parametry wyświetlania Powierzchnie

Co to takiego Wprowadzenie Parametry wyświetlania Powierzchnie Biblioteka w Pythonie do programowania aplikacji multimedialnych, w tym gier.

Elementy składowe Wprowadzenie Parametry wyświetlania Powierzchnie Obsługa ekranu (obrazki, kursor, fonty); urządzenia peryferyjne (myszki, joysticki, klawiatury); dźwięk; przekształcanie obrazów (w tym OpenGL).

Jeszcze parę uwag Wprowadzenie Parametry wyświetlania Powierzchnie PyGame używa SDL Simple DirectMedia Layer: przenośna biblioteka multimedialna;

Jeszcze parę uwag Wprowadzenie Parametry wyświetlania Powierzchnie PyGame używa SDL Simple DirectMedia Layer: przenośna biblioteka multimedialna; Python 3 PyGame nie jest jeszcze w pełni zintegrowane z Pythonem 3.

Schemat programu Wprowadzenie Parametry wyświetlania Powierzchnie import pygame pygame.init() # ustawienie parameterów wyświetlania while True: # reakcja na zdarzenia pygame.display.update()

Parametry ekranu Wprowadzenie Parametry wyświetlania Powierzchnie # Obiekt klasy Surface screen = pygame.display.set mode( rozdzielczość, flaga, kolory) rozdzielczość: krotka (szerokość, wysokość), np. (640, 480); flaga: sposób wyświetlania; można dać 0, FULLSCREEN, NOFRAME, OPENGL etc. kolory: liczba bitów na kolor (8, 15, 16, 24, 32)

Parametry ekranu Wprowadzenie Parametry wyświetlania Powierzchnie # Obiekt klasy Surface screen = pygame.display.set mode( rozdzielczość, flaga, kolory) rozdzielczość: krotka (szerokość, wysokość), np. (640, 480); flaga: sposób wyświetlania; można dać 0, FULLSCREEN, NOFRAME, OPENGL etc. kolory: liczba bitów na kolor (8, 15, 16, 24, 32) Nagłówek okna: pygame.display.set caption( Hello, PyGame! )

Powierzchnie Wprowadzenie Parametry wyświetlania Powierzchnie powierzchnie reprezentują obrazy; obrazami mogą być utworzone z pliku graficznego, fonty, można też samodzielnie tworzyć obrazy; klasa pygame.surface

Pliki graficzne Wprowadzenie Parametry wyświetlania Powierzchnie pygame.image.load( plik.jpg ) tworzy powierzchnię rozmiaru i o tych samych kolorach co oryginalny obrazek; zalecane jest używanie zmodyfikowanej kopii powierzchni: obrazek = pygame.image.load( plik.jpg ).convert() ze względu na szybkość działania przy wielokrotnym wczytywaniu obrazka; można modyfikować obrazki, np. dodając kanał alfa (convert alpha()).

Tworzenie pustych powierzchni Wprowadzenie Parametry wyświetlania Powierzchnie pygame.surface((256,256)) Tworzy powierzchnię 256x256 z tą samą liczbą kolorów jak ekran.

Wprowadzenie Parametry wyświetlania Powierzchnie Wyświetlanie powierzchni na powierzchni.blit(powierzchnia)

Wprowadzenie Parametry wyświetlania Powierzchnie Wyświetlanie powierzchni na powierzchni.blit(powierzchnia) Umieszczenie obrazka na ekranie screen = pygame.display.set mode( rozdzielczość, flaga, kolory) obrazek = pygame.image.load( plik.jpg ).convert() screen.blit(obrazek, (0,0))

Wprowadzenie Parametry wyświetlania Powierzchnie Wyświetlanie powierzchni na powierzchni.blit(powierzchnia) Umieszczenie obrazka na ekranie screen = pygame.display.set mode( rozdzielczość, flaga, kolory) obrazek = pygame.image.load( plik.jpg ).convert() screen.blit(obrazek, (0,0)) pygame.display.update()

Fonty i napisy Wprowadzenie Parametry wyświetlania Powierzchnie Fonty w PyGame: PyGame korzysta z systemowych fontów TTF; przed użyciem konieczne jest utworzenie obiektu klasy Font, np.: font podstawowy = pygame.font.sysfont("arial", 16) renderowanie fontu to utworzenie powierzchni: napis = font podstawowy.render( Python is cool!, (0,0,0), (255,255,255)) screen.blit(napis, (10, 10))

Zapisywanie powierzchni Wprowadzenie Parametry wyświetlania Powierzchnie pygame.image.save(powierzchnia, "plik.png")

Plan wykładu Klawiatura Mysz Dżojstik 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D: ręczna implementacja OpenGL

Zdarzenia Klawiatura Mysz Dżojstik Zdarzenia typu naciśnięcie klawisza są trzymane w kolejce.

Zdarzenia Klawiatura Mysz Dżojstik Zdarzenia typu naciśnięcie klawisza są trzymane w kolejce. Przykład obsługi zdarzenia zamknięcie okna from pygames.locals import * for event in pygame.event.get(): if event.type == QUIT: exit()

Naciśnięcie dowolnego klawisza Klawiatura Mysz Dżojstik pygame.key.get pressed() Zwraca listę boolowską, gdzie na odpowiednich pozycjach jest informacja, czy klawisz zsotał naciśnięty.

Naciśnięcie dowolnego klawisza Klawiatura Mysz Dżojstik pygame.key.get pressed() Zwraca listę boolowską, gdzie na odpowiednich pozycjach jest informacja, czy klawisz zsotał naciśnięty. Przykład pressed keys = pygame.key.get pressed() if pressed keys[k SPACE]: fire()

Klawiatura Mysz Dżojstik Schemat obsługi klawiszy kontrolnych Zdarzenia KEYDOWN, KEYUP if event.type == KEYDOWN: if event.key == K LEFT:... if event.key == K RIGHT:...

Zdarzenia myszy Klawiatura Mysz Dżojstik MOUSEMOTION MOUSEBUTTONDOWN MOUSEBUTTONUP

Pozycja myszy Klawiatura Mysz Dżojstik x, y = pygame.mouse.get pos()

Własny kursor Klawiatura Mysz Dżojstik Przykład myszka = pygame.image.load( logo.gif ).convert() while True: x, y = pygame.mouse.get pos() screen.blit(myszka, (x, y))

Własny kursor Klawiatura Mysz Dżojstik Przykład myszka = pygame.image.load( logo.gif ).convert() while True: x, y = pygame.mouse.get pos() screen.blit(myszka, (x, y)) Uwaga Kursor myszki jest rysowany wielokrotnie.

Podstawowe funkcje Klawiatura Mysz Dżojstik Inicjowanie modułu pygame.joystick.init() Liczba podłączonych dżojstików pygame.joystick.get count()

Obsługa dżojstików Klawiatura Mysz Dżojstik Klasa Joystick joy1 = pygame.joystick.joystick(0) Dżojstiki są numerowane kolejnymi liczbami naturalnymi.

Obsługa dżojstików Klawiatura Mysz Dżojstik Klasa Joystick joy1 = pygame.joystick.joystick(0) Dżojstiki są numerowane kolejnymi liczbami naturalnymi. Liczba aktywnych przycisków Joystick.get numbuttons()

Klawiatura Mysz Dżojstik Zdarzenia związane z dżojstikiem JOYAXISMOTION, JOYBALLMOTION, JOYHATMOTION, JOYBUTTONUP, JOYBUTTONDOWN Informacje związane ze zdarzeniem:.joy(): numer dżojstika;.axis(): kierunek

Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D: ręczna implementacja OpenGL Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków

Inicjowanie modułu Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków pygame.mixer.init(częstotliwość, rozmiar, stereo, bufor) częstotliwość: częstotliwość próbkowania rozmiar: liczba bitów na próbkę stereo: 1 mono, 2 stereo bufor: rozmiar bufora na próbki Przykładowe ustawienia pygame.mixer.init(44100, 16, 2, 4096)

Odtwarzanie plików dźwiękowych Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków bum = pygame.mixer.sound( bummm.ogg )

Odtwarzanie plików dźwiękowych Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków bum = pygame.mixer.sound( bummm.ogg ) Odtwarzanie dźwięków.play(): rozpoczęcie odtwarzania;.stop(): zatrzymanie odtwarzania;.fadeout(): zatrzymanie odtwarzania po ściszeniu

Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków Zainicjowanie strumienia pygame.mixer.music.load( opera.ogg ) Odtwarzanie pygame.mixer.music.play(): rozpoczęcie odtwarzania; pygame.mixer.music.stop() pygame.muxer.music.pause() pygame.mixer.music.unpause()

MOduł midi Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków pygame.midi

Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D: ręczna implementacja OpenGL 3D: ręczna implementacja OpenGL

Małe przypomnienie 3D: ręczna implementacja OpenGL ekranem jest obiekt klasy Surface; powierzchniami są wczytane obrazki lub napisy.

Zabawa z pikselami 3D: ręczna implementacja OpenGL kartka = pygame.surface( (1024, 1024), depth=24) kartka.set at( (20, 20), (255, 0, 0) )

Zabawa z pikselami 3D: ręczna implementacja OpenGL kartka = pygame.surface( (1024, 1024), depth=24) kartka.set at( (20, 20), (255, 0, 0) ) Zbadanie koloru: tuple(kartka.get at((20, 20)))

Figury geometryczne 3D: ręczna implementacja OpenGL Funkcje modułu pygame.draw.: rect(powierzchnia, kolor, Rect( pozycja, rozmiar) ) circle(powierzchnia, (0,0,255), środek, promień) line(powierzchnia, kolor, początek, koniec) inne...

Samodzielna implementacja 3D: ręczna implementacja OpenGL Reprezentacja obiektów Obiekty trójwymiarowe są reprezentowane jako trójwymiarowe. Rzutowanie Odwzorowanie obiektu trójwymiarowego na płaszczyźnie. Typowe rzuty: rzut równoległy bądź perpsektywiczny.

OpenGL: Open Graphics Library 3D: ręczna implementacja OpenGL Specyfikacja uniwersalnego API do generowania grafiki.

3D: ręczna implementacja OpenGL from OpenGL.GL import * screen = pygame.display.set mode((640, 480), HWSURFACE OPENGL DOUBLEBUF)