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

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Praktyka programowania projekt

Komputery I (2) Panel sterowania:

Program V-SIM tworzenie plików video z przebiegu symulacji

Maskowanie i selekcja

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

Dodawanie grafiki i obiektów

Podręcznik użytkownika programu. Ceremonia 3.1

2.3.8 Personalizacja środowiska GNOME

Formaty plików. graficznych, dźwiękowych, wideo

Grafika w aplikacjach lp. Jak zmienić kolor tła?

Komunikujemy się z komputerem.

Praca z tekstem: WORD Listy numerowane, wstawianie grafiki do pliku

PIERWSZE URUCHOMIENIE PROGRAMU ITNC PROGRAMMING STATION

Wprowadzenie do QT OpenGL

Program OBRAZY-SŁOWA-DŹWIĘKI - wspomaganie rozwoju, terapii, komunikowania się. Spis treści

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Flash - podstawy

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

USB HYBRID TV STICK. Instrukcja obsługi. Watch & record Digital TV & Analog TV programs on Your PC! MT4153

Systemy operacyjne I Laboratorium Część 3: Windows XP

Jak zrobić klasyczny button na stronę www? (tutorial) w programie GIMP

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Unity 3D - własny ekran startowy i menu gry

Grafika 3D na przykładzie XNA 3.1

dla gastronomii i hoteli S4H W PRAKTYCE DOPASUJ NASZE PROGRAMY DO POTRZEB TWOJEJ FIRMY S4H POS MODYFIKACJE EKRANU BONOWANIA

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Problemy programowania gier. mgr Mateusz Rynk

1. Opis okna podstawowego programu TPrezenter.

INFORMATYKA KLASA IV

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

Skaner Mustek Scan Express

Projektowanie graficzne. Wykład 2. Open Office Draw

Janusz Ganczarski. OpenGL Pierwszy program

Studia Podyplomowe Grafika Komputerowa i Techniki Multimedialne, 2017, semestr II Modelowanie 3D - Podstawy druku 3D. Ćwiczenie nr 4.

SPIS TREŚCI: KARTY GRAFICZNE... 15

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

True Space 3.2 KURS PODSTAWOWY. program można ściągn ąć za darmo ze strony Co to właściwie jest?

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRÓDROCZNYCH OCEN KLASYFIKACYJNYCH Z INFORMATYKI. KLASA IVa SZKOŁA PODSTAWOWA

Dokumentacja WebMaster ver 1.0

Struktury czyli rekordy w C/C++

Platforma e-learningowa

GR Block Cutter Sikor Soft, donationware. Instrukcja użytkownika

Laboratorium Napędu robotów

1.Instalacja. Przechodzimy przez kolejne okna instalatora klikacjąć Dalej. wolek.zallegro.pl

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

1 Zrozumieć Flasha... 1 Co można zrobić za pomocą Flasha?... 2 Tworzenie obrazków do strony 3 Animowanie witryny 4 Tworzenie filmów

Instrukcja szybkiego uruchomienia

IW Gostycyn, dnia r. MODYFIKACJA SIWZ

WSTAWIANIE GRAFIKI DO DOKUMENTU TEKSTOWEGO

SZCZEGÓŁOWY OPIS wymagań i cech sprzętu

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Technika mikroprocesorowa. Konsola do gier

DesignCAD 3D Max 24.0 PL

2017 Electronics For Imaging, Inc. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym

Microsoft Small Basic

Rozkład materiału zajęć komputerowych dla klasy V

Dodatek A. Spis instrukcji języka Prophio.

Osadzenie pliku dźwiękowego na stronie www

Instrukcja edycji grafiki dla urządzeń firmy C&C.

3 Programy do tworzenia

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

CalendarGenerator v0.1 - instrukcja obsługi

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

PLAN WYNIKOWY KLASA 1

Wymagania edukacyjne z zajęć komputerowych w klasie 5

SZCZEGÓŁOWY SPIS TREŚCI

Omega Plus. Wersja

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Kompletny system multimedialny, łatwe w użyciu a jednocześnie bogate w oferowane funkcje narzędzie wspomagające oprawę liturgii i pracę duszpasterską

Charakterystyka urządzeń zewnętrznych

Grafika PHP dla początkujących

Jeszcze raz więc powtarzam - wymieramy NIE i przechodzimy do kolejnego obrazka.

Instrukcja użytkownika ARSoft-WZ3

Sposoby sprawdzania osiągnięć edukacyjnych uczniów

Kryteria oceniania. Zajęcia komputerowe. Klasa IV

Wymagania edukacyjne z informatyki dla uczniów klas IV SP nr 53 w Krakowie w roku szkolnym 2019/2020

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z INFORMATYKI DLA KLASY IV SP ROK SZKOLNY 2017/2018

11. Rozwiązywanie problemów

POMOC / INSTRUKCJA OBSŁUGI

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Tablet graficzny XP-Pen

Woda na powierzchniach. Rafał Chylaszek & Tomasz Krok 5 czerwiec 2009

Transkrypt:

PyGame 18 grudnia 2015

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 5

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 5

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 5

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 5

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 5

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ź perspektywiczny.

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)

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 5