Programowanie telefonów z Windows Phone 7, cz. 3
|
|
- Grażyna Chrzanowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie telefonów z Windows Phone 7, cz. 3 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój 217A 1/34
2 Dziś w menu 1. XNA i grafika raczej płaska wypisywanie tekstu w XNA SpriteFont wyświetlanie map bitowych Texture2D obsługa ekranu dotykowego TouchCollection wykrywanie kolizji BoundingBox efekty dźwiękowe SoundEffect 2. XNA i trójwymiarowość definiowanie obiektów trójwymiarowych transformacje współrzędnych obiektów ustawienie kamery i rzutowanie obrazu na płaszczyznę ekranu bryła obcinania, ukrywanie ścianek 2/34
3 XNA i grafika raczej płaska Zróbmy prostą grę z dwoma obiektami (ang. sprite). Jeden z obiektów będzie się poruszał i odbijał od brzegów ekranu. Położenie drugiego obiektu będziemy kontrolować dotykając ekran. Obiekty będą się zderzać, kolizję trzeba wykryć i wygenerować efekt dźwiękowy. 3/34
4 XNA i grafika raczej płaska Przed utworzeniem nowego projektu trzeba przygotować mapy bitowe spritów (z przeźroczystością) i dźwięk efektu zderzenia. brzdek.wav sprite1.png sprite2.png 4/34
5 5/34
6 1 (add existing item) 2 3 6/34
7 1 (add new item) 2 7/34
8 2 1 8/34
9 9/34
10 Wypisywanie tekstu public class Game1 : Microsoft.Xna.Framework.Game GraphicsDeviceManager graphics; SpriteBatch spritebatch; string text = "Witaj XNA"; SpriteFont font1; Vector2 textposition1; public Game1() graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content";... // Frame rate is 30 fps by default for Windows Phone. TargetElapsedTime = TimeSpan.FromTicks(333333); Update() Draw() 10/34
11 Wypisywanie tekstu protected override void LoadContent() // Create a new SpriteBatch, which can be used to draw textures. spritebatch = new SpriteBatch(GraphicsDevice); font1 = this.content.load<spritefont>("spritefont1"); Vector2 textsize = font1.measurestring(text); Viewport viewport = this.graphicsdevice.viewport; textposition1 = new Vector2((viewport.Width - textsize.x) / 2, (viewport.height - textsize.y) / 2); 11/34
12 Wypisywanie tekstu protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.SaddleBrown); spritebatch.begin(); spritebatch.drawstring(font1, text, textposition1, Color.Black); spritebatch.end(); base.draw(gametime); 12/34
13 Wyświetlanie map bitowych public class Game1 : Microsoft.Xna.Framework.Game GraphicsDeviceManager graphics; SpriteBatch spritebatch; string text = "Witaj XNA"; SpriteFont font1; Vector2 textposition1; Texture2D texture1; Texture2D texture2; Vector2 spriteposition1; Vector2 spriteposition2; Vector2 spritespeed1 = new Vector2(100.0f, 50.0f); SoundEffect soundeffect;... 13/34
14 Wyświetlanie map bitowych protected override void LoadContent()... texture1 = Content.Load<Texture2D>("sprite1"); texture2 = Content.Load<Texture2D>("sprite2"); soundeffect = Content.Load<SoundEffect>("brzdek"); spriteposition1.x = 0; spriteposition1.y = 0; spriteposition2.x = graphics.graphicsdevice.viewport.width - texture2.width; spriteposition2.y = graphics.graphicsdevice.viewport.height - texture2.height; 14/34
15 Wyświetlanie map bitowych protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.exit(); UpdateSprite(gameTime, ref spriteposition1, ref spritespeed1); base.update(gametime); protected override void Draw(GameTime gametime)... spritebatch.begin(spritesortmode.backtofront, BlendState.AlphaBlend); spritebatch.draw(texture1, spriteposition1, Color.White); spritebatch.end(); base.draw(gametime); 15/34
16 UpdateSprite(GameTime gametime, ref Vector2 spriteposition, ref Vector2 spritespeed) void spriteposition += spritespeed * (float)gametime.elapsedgametime.totalseconds; int int int int Right = graphics.graphicsdevice.viewport.width - texture1.width; Left = 0; Bottom = graphics.graphicsdevice.viewport.height - texture1.height; Top = 0; if (spriteposition.x > Right) spritespeed.x *= -1; spriteposition.x else if (spriteposition.x < Left) spritespeed.x *= -1; spriteposition.x if (spriteposition.y > Bottom) spritespeed.y *= -1; spriteposition.y else if (spriteposition.y < Top) spritespeed.y *= -1; spriteposition.y = Right; = Left; = Bottom; = Top; 16/34
17 Obsługa ekranu dotykowego protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.exit(); TouchCollection touchlocations = TouchPanel.GetState(); if (touchlocations.count > 0) foreach (TouchLocation touchlocation in touchlocations) if (touchlocation.state == TouchLocationState.Pressed touchlocation.state == TouchLocationState.Moved) spriteposition2.x = touchlocation.position.x - texture2.width / 2; spriteposition2.y = touchlocation.position.y - texture2.height / 2; //spriteposition2 = touchlocation.position;... 17/34
18 Obsługa ekranu dotykowego protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.SaddleBrown); spritebatch.begin(); spritebatch.drawstring(font1, text, textposition1, Color.Black); spritebatch.end(); spritebatch.begin(spritesortmode.backtofront, BlendState.AlphaBlend); spritebatch.draw(texture1, spriteposition1, Color.White); spritebatch.end(); spritebatch.begin(spritesortmode.backtofront, BlendState.AlphaBlend); spritebatch.draw(texture2, spriteposition2, Color.White); spritebatch.end(); base.draw(gametime); 18/34
19 Wykrywanie kolizji i efekty dźwiękowe protected override void Update(GameTime gametime)... CheckForCollision(); base.update(gametime); 19/34
20 CheckForCollision() void BoundingBox bb1 = new BoundingBox( new Vector3(spritePosition1.X spriteposition1.y new Vector3(spritePosition1.X + spriteposition1.y + BoundingBox bb2 = new BoundingBox( new Vector3(spritePosition2.X spriteposition2.y new Vector3(spritePosition2.X + spriteposition2.y + (texture1.bounds.width / 2), (texture1.bounds.height / 2), 0), (texture1.bounds.width / 2), (texture1.bounds.height / 2), 0)); (texture2.bounds.width / 2), (texture2.bounds.height / 2), 0), (texture2.bounds.width / 2), (texture2.bounds.height / 2), 0)); if (bb1.intersects(bb2)) soundeffect.play(); spritespeed1.x *= -1; spritespeed1.y *= -1; 20/34
21 Grafika 3D wprowadzenie Wszystko można zrobić z trójkątów Nie interesuje nas wnętrze bryły 21/34
22 Grafika 3D wprowadzenie Układy współrzędnych Transformacje układów współrzędnych 22/34
23 Grafika 3D wprowadzenie Rzutowanie perspektywiczne 23/34
24 Grafika 3D wprowadzenie Bryła obcinania 24/34
25 Grafika 3D wprowadzenie Face culling ukrywanie ścianek Bufor Z ukrywanie tego co przesłonięte 25/34
26 XNA i trójwymiarowość 26/34
27 XNA i trójwymiarowość public class Game1 : Microsoft.Xna.Framework.Game GraphicsDeviceManager graphics; //SpriteBatch spritebatch; Vector3 cameraposition = new Vector3(0, 20, 50); Vector3 cameratarget = new Vector3(0, 0, 0); Vector3 upvector = new Vector3(0, 1, 0); float fieldofview = 0.4f; Matrix worldmatrix, viewmatrix, projectionmatrix; public float angle = 0f; VertexPositionColor[] trianglevertices; BasicEffect triangleeffect;... 27/34
28 protected override void LoadContent() //spritebatch = new SpriteBatch(GraphicsDevice); int i = 0; Vector3 punktw = new Vector3(0, 10, 0); Vector3 punkta = new Vector3(-7, 0, 3); Vector3 punktb = new Vector3(7, 0, 3); Vector3 punktc = new Vector3(0, 0, -6); trianglevertices = new VertexPositionColor[12]; trianglevertices[i++] = new VertexPositionColor(punktW, Color.Yellow); trianglevertices[i++] = new VertexPositionColor(punktA, Color.Green); trianglevertices[i++] = new VertexPositionColor(punktC, Color.Green); trianglevertices[i++] = new VertexPositionColor(punktW, Color.Yellow); trianglevertices[i++] = new VertexPositionColor(punktB, Color.Blue); trianglevertices[i++] = new VertexPositionColor(punktC, Color.Blue); trianglevertices[i++] = new VertexPositionColor(punktW, Color.Yellow); trianglevertices[i++] = new VertexPositionColor(punktA, Color.Red); trianglevertices[i++] = new VertexPositionColor(punktB, Color.Red); trianglevertices[i++] = new VertexPositionColor(punktA, Color.Black); trianglevertices[i++] = new VertexPositionColor(punktC, Color.Black); trianglevertices[i++] = new VertexPositionColor(punktB, Color.Black); 28/34
29 triangleeffect = new BasicEffect(GraphicsDevice); triangleeffect.vertexcolorenabled = true; viewmatrix = Matrix.CreateLookAt(cameraPosition, cameratarget, upvector); projectionmatrix = Matrix.CreatePerspectiveFieldOfView(fieldOfView, GraphicsDevice.Viewport.AspectRatio, 1.0f, 300.0f); 29/34
30 protected override void Update(GameTime gametime) if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.exit(); angle += (float)(0.3f * gametime.elapsedgametime.totalseconds); base.update(gametime); protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.CornflowerBlue); worldmatrix = Matrix.CreateRotationY(angle); triangleeffect.world = worldmatrix; triangleeffect.view = viewmatrix; triangleeffect.projection = projectionmatrix; // Process each Technique in the Effect. foreach (EffectPass pass in triangleeffect.currenttechnique.passes) pass.apply(); GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList, trianglevertices, 0, 4, VertexPositionColor.VertexDeclaration); base.draw(gametime); 30/34
31 Ukrywanie ścianek? 31/34
32 Ukrywanie ścianek! trianglevertices[i++] = new VertexPositionColor(punktW, Color.Yellow); trianglevertices[i++] = new VertexPositionColor(punktB, Color.Blue); trianglevertices[i++] = new VertexPositionColor(punktC, Color.Blue); W B C W C B trianglevertices[i++] = new VertexPositionColor(punktW, Color.Yellow); trianglevertices[i++] = new VertexPositionColor(punktC, Color.Blue); trianglevertices[i++] = new VertexPositionColor(punktB, Color.Blue); 32/34
33 Więcej o grafice 3D 33/34
34 ...i na tym koniec trzeciej części wykładu 34/34
Programowanie telefonów z Windows Phone 7, cz. 5
Programowanie telefonów z Windows Phone 7, cz. 5 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Komponenty i serwisy
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki
Bardziej szczegółowoProgramowanie telefonów z Windows Phone 7, cz. 2
Programowanie telefonów z Windows Phone 7, cz. 2 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoPolitechnika Poznańska, Instytut Informatyki, SUM-TWO
Politechnika Poznańska, Instytut Informatyki, SUM-TWO 11 kwietnia 2015 Historia DirectX Gry pod DOS korzystały z własnych bibliotek graficznych. Pierwsze wersje Windows umożliwiały tworzenie grafiki tylko
Bardziej szczegółowoRozdział 4 Komponenty gry na przykładzie prostopadłościanu
Rozdział 4 Komponenty gry na przykładzie prostopadłościanu Wersja z 2014-03-21 Budowanie gry, nawet stosunkowo prostej, to spore wyzwanie dla programisty. Bardzo łatwo zgubić się w dużej ilości linii kodu
Bardziej szczegółowoProgramowanie telefonów z Windows Phone 7, cz. 4
Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój
Bardziej szczegółowoRozdział 6 Cienie rzucane. Mieszanie kolorów
Rozdział 6 Cienie rzucane. Mieszanie kolorów Wersja z 2014-04-04 W tym rozdziale omówione są zagadnienia związane znaczeniowo z oświetleniem: cienie rzucane, przezroczystość, mgła. Nie maja one jednak
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Sterowanie i wykrywanie kolizji
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Sterowanie i wykrywanie kolizji Wstęp: W czwartej części przedstawione zostaną mechanizmy
Bardziej szczegółowoRozdział 1 Podstawowe koncepcje grafiki 3D
Rozdział 1 Podstawowe koncepcje grafiki 3D Wersja z 2014-03-20 Projektowanie gry musimy zacząć od przygotowania sobie środowiska pracy. Zakładam, że Czytelnik posiada już doświadczenie w programowaniu
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Podstawy grafiki 3D
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy
Bardziej szczegółowoUnity 2D - prosta gra
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie prostej gry 2D. Prosta gra Stworzymy prostą grę, w której będziemy sterować pojazdem kosmicznym i będziemy mogli strzelać
Bardziej szczegółowoPrzykładowa dostępna aplikacja w Visual Studio - krok po kroku
Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i
Bardziej szczegółowoUnity 3D - własny ekran startowy i menu gry
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie własnego ekranu startowego oraz menu gry. Własny ekran startowy Tworzymy nowy, pusty obiekt GameObject Create Empty i nadajemy
Bardziej szczegółowoStereoskopia. Implementacja w XNA 4.0
??? Stereoskopia. Implementacja w XNA 4.0 Stereoskopia na dobre zadomowiła się w kinach. Niemal wszystkie przeboje, począwszy od Avatara po filmy animowane dla dzieci są teraz wyświetlane w wersji 3D.
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoWykład 11: Programowanie Apletów
Wykład 11: Programowanie Apletów Aplety Aplikacja uruchamiana jako część dokumentu HTML: dostępna na serwerze transportowana przez Internet instalowana i uruchamiana na przeglądarce Po instalacji u klienta,
Bardziej szczegółowoWykład 5_2 Arkusze stylów dziedziczenie. Technologie internetowe Zofia Kruczkiewicz
Wykład 5_2 Arkusze stylów dziedziczenie Technologie internetowe Zofia Kruczkiewicz 1. Dziedziczenie stylów Zagnieżdżone elementy dziedziczą styl od elementów zagnieżdżających. Dziedziczenie stylu wynika
Bardziej szczegółowoRysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)
Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit) Biblioteka Abstrakcyjnych Narzędzi Okienkowych AWT (Abstract Window Toolkit) jako historycznie pierwsza w JDK
Bardziej szczegółowoLaboratorium programowania urządzeń mobilnych
Laboratorium programowania urządzeń mobilnych Wprowadzenie Hierarcha klas dla aplikacji typu Silverlight tworzonej przez Visual Studio jest następująca: Obsługa ekranu W urządzeniach z Windows Phone 7
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoLaboratorium 10 - Web Services
Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana
Bardziej szczegółowoProgramowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoProblem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.
Maszyny stanów Programowanie gier bez Unity, cz. 3 Piotr Korgul Koło Naukowe Twórców Gier Polygon 3 grudnia 2014 r. Cykl Programowanie gier bez Unity 1 Jak zorganizować prace nad grą? 2 Jak działa gra?
Bardziej szczegółowoPętle while, for, do while, instrukcje break, continue, switch 1. Pętle
Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=
Bardziej szczegółowoKurs programowania 2 - listy
Kurs programowania 2 - listy Listy rozwijane (ComboBox) Listy rozwijane (rozwijalne) można tworzyć przy użyciu klasy ComboBox. W tabeli poniżej właściwości udostępniane przez tę kontrolkę. Najważniejsza
Bardziej szczegółowoZaawansowany kurs języka Python
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:
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoMicrosoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Bardziej szczegółowoWindows Vista i DirectX 10 to największe
Nowe technologie Marcin Duszyński Jacek Matulewski XNA zarządzana platforma dla gier Windows Vista i DirectX 10 to największe nowości tego roku. Razem z nimi udostępniona została nowa wersja platformy.net
Bardziej szczegółowoProgramowanie Procesorów Graficznych
Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali
Bardziej szczegółowoSpis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4
Spis treści 1 Aplet 1 2 Od aplikacji do apletu 1 3 Budowa apletu 3 4 Cykl życia apletu 4 5 Aplet jako aplikacja 5 Temat: Aplety. Celem wykładu jest zdefiniowanie sieciowej aplikacji Java T M, zwanej apletem
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoJęzyki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoCzym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows
Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)
Bardziej szczegółowoPodstawy programowania obiektowego
1/23 Podstawy programowania obiektowego wykład 8 polimorfizm, wyjątki, kolekcje generyczne Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie klasy już istniejącej,
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowo2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Bardziej szczegółowoGrafika trójwymiarowa
Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury Strona 2 Grafika 3D w systemie Android W komputerach,
Bardziej szczegółowoRozdział 2, Kilka praktycznych uwag dotyczących projektów gier w MonoGame
Rozdział 2, Kilka praktycznych uwag dotyczących projektów gier w MonoGame Wersja z 2014-03-07b Ten krótki rozdział jest czymś w rodzaju aneksu do rozdziału pierwszego. Omawiam w nim kilka zagadnień, nie
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Bardziej szczegółowoProgramowanie w środowiskach graficznych. Wykład 3 Język C#
Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,
Bardziej szczegółowoJęzyk Java. Rysowanie GUI Określanie wyglądu komponentów
Język Java Rysowanie GUI Określanie wyglądu komponentów Rysowanie GUI Rysowanie GUI w Swingu np. przy pierwszym wyświetleniu przy ponownym odsłonięciu przy zmianach stanu programu Kolejność rysowania -
Bardziej szczegółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoJęzyki programowania imperatywnego
Katedra Inżynierii Wiedzy laborki 7 i 8 Klasy abstrakcyjne klasa abstrakcyjna pozwala wymusić implementację metody; klasa oznaczona jest jako abstrakcyjna, jeżeli przynajmniej jedna metoda jest abstrakcyjna;
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoMateriał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com GUI-Swing Wstęp do tworzenia prostych aplikacji z interfejsem graficznym (GUI) przy pomocy Swing, rysowanie prostych
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoGrafika 3D na przykładzie XNA 3.1
Jacek Matulewski, Tomasz Dziubak Grafika 3D na przykładzie XNA 3.1 ITA-106 Wersja 1.02 (XNA 3.1, PS 2.0) Toruo, listopad 2010 2010 Jacek Matulewski, Tomasz Dziubak. Autor udziela prawa do bezpłatnego kopiowania
Bardziej szczegółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowo1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych
Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ
Bardziej szczegółowoZaawansowane programowanie w języku C++ Przeciążanie operatorów
Zaawansowane programowanie w języku C++ Przeciążanie operatorów Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoProgramowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Bardziej szczegółowoRozdział 5 Oświetlenie: cienie własne i rzucane. Mieszanie kolorów
Rozdział 5 Oświetlenie: cienie własne i rzucane. Mieszanie kolorów Wersja z 2014-03-29 Trudno przecenić rolę światła w grafice 3D. Podobnie jak w kinie, to dzięki oświetleniu nasz umysł daje się nabierać
Bardziej szczegółowoMonoGame. Wieloplatformowe gry w C# Mateusz Cicheński
MonoGame Wieloplatformowe gry w C# Mateusz Cicheński Plan prezentacji Założenia Alternatywy Narzędzia Różnice między WP8, ios, Android DEMO Podsumowanie Założenia CEL: Stworzenie wieloplatformowej gry
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoMVC w praktyce tworzymy system artykułów. cz. 1
MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą
Bardziej szczegółowoJava Programowanie Obiektowe Ćwiczenie 1- wprowadzenie
Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie 1. Cel ćwiczenia i zakres Poznanie środowiska IntelliJ IDEA Maven narzędzie do budowanie projektów typy podstawowe i tablice, instrukcje warunkowe,
Bardziej szczegółowoUnity 3D - pierwsze skrypty
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest napisanie pierwszych, prostych skryptów, m.in wyświetlających upływający czas gry oraz jej stan. Wykorzystamy projekt z poprzednich
Bardziej szczegółowoUnity 3D - podpowiedzi w grze. System cząstek
www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest dodanie podpowiedzi, które będą się wyświetlały nad przedmiotami, a także systemu cząstek. Wyświetlanie podpowiedzi Dodamy teraz do
Bardziej szczegółowoWykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowografika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie
grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie Krzysztof Czech, 2 rok IZ Grzegorz Duszyński, 2 rok IZ Daniel Engel, 2 rok IZ Łukasz Olech, 2 rok IZ Radek Wilczak, 2 rok EKA Nadpisywanie
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki
Bardziej szczegółowoPlan wykładu. Tworzenie programów dla platformy.net. Predefiniowane typy C# Pierwszy program. Typy wartości i typy referencyjne
dla platformy.net Wstęp do programowania w języku C# Gliwice, Marzec 2003 Plan wykładu Typy danych i operatory Instruk cje Tablice Tworzenie klas Właściwości, indek satory Delegacje i zdarzenia mgr inż.
Bardziej szczegółowoProgramowanie aplikacji okienkowych Windows
Programowanie aplikacji okienkowych Windows Tworzenie aplikacji okienkowych w C# na bazie.net 2.0 Michał Turek, AGH Kraków W czym piszemy aplikacje.net Microsoft Visual Studio.NET Microsoft [] Express,
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe
Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("
Bardziej szczegółowoWprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Bardziej szczegółowoGry Komputerowe Laboratorium 3. Organizacja obiektów sceny Kolizje obiektów. mgr inż. Michał Chwesiuk 1/20. Szczecin, r
Gry Komputerowe Laboratorium 3 Organizacja obiektów sceny obiektów mgr inż. Michał Chwesiuk 1/20 Diagram Klas 2/20 Stwórz nową klasę GameObject. Klasa ta będzie klasą abstrakcyjną, z niej będą dziedziczyć
Bardziej szczegółowoWstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project
JUNG Java Universal Network/Graph Framework JUNG jest to biblioteka służąca do modelowania, analizy i wizualizacji danych reprezentowanych w postaci grafów lub sieci. Architektura JUNGa wspiera różnorodność
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc
Bardziej szczegółowoPodstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2
z wykorzystaniem języka Java ME ćwiczenia 2 Wykorzystanie plików graficznych w MIDlet ach utworzenie obiektu klasy Image (statyczna metoda createimage()) utworzenie obiektu klasy ImageItem dodanie utworzonego
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoMapowanie sześcienne otoczenia (cubic environment mapping)
Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie środowiska jest techniką pozwalającą na odwzorowanie otoczenia na powierzchni przedmiotu przy użyciu specjalnie spreparowanej tekstury.
Bardziej szczegółowoProgramowanie urządzeń mobilnych. dr inż. Juliusz Mikoda
Programowanie urządzeń mobilnych dr inż. Juliusz Mikoda Instalacja środowiska 1 Wymagane składniki środowiska Eclipse wersja 3.4 (Ganymede) lub 3.5 (Galileo classic) http://www.eclipse.org/downloads/packages/release/galileo/r
Bardziej szczegółowoTesty jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną
Bardziej szczegółowoGrafika komputerowa i wizualizacja
Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoProgramowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Bardziej szczegółowoOprogramowanie i wykorzystanie stacji roboczych. Wykład 6
Wykład 6 p. 1/2 Oprogramowanie i wykorzystanie stacji roboczych Wykład 6 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Wektory normalne
Bardziej szczegółowoANDROID. OpenGL ES 1.0. Tomasz Dzieniak
ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoPodstawy programowania obiektowego
Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?
Bardziej szczegółowo