Grafika Animacyjna wykład 3

Slides:



Advertisements
Podobne prezentacje
GRAFIKA ANIMACYJNA 1. 2 Grafika Animacyjna wykład 4 Wykład dla Studiów Podyplomowych GRAFIKA KOMPUTEROWA I TECHNIKI MULTIMEDIALNE Rok akademicki 2011/2012.
Advertisements

Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
Światowy Dzień Zdrowia 2016 Pokonaj cukrzycę. Światowy Dzień Zdrowia 7 kwietnia 2016.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Zasady tworzenia prezentacji multimedialnych Autor: Switek Marian.
Zasady tworzenia prezentacji multimedialnych I. Główne zasady: prezentacja multimedialna powinna być ilustracją (uzupełnieniem) treści prezentowanych.
Ćwiczenia Zarządzanie Ryzykiem Renata Karkowska, ćwiczenia „Zarządzanie ryzykiem” 1.
Prawidłowa Eksploatacja Akumulatora Wykonał: Jakub Boniecki I tp.
EWALUACJA JAKO ISTOTNY ELEMENT PROJEKTÓW SYSTEMOWYCH Sonia Rzeczkowska.
OBSŁUGA KARTY DILO. Karta diagnostyki i leczenia onkologicznego zawiera: - oznaczenie pacjenta, pozwalające na ustalenie jego tożsamości, - oznaczenie.
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
1 „Praktyczne narzędzia ICT w realizacji edukacyjnych projektów”
OPTYMALNY CEL I PODSTAWY ROZWOJU SZKOŁY. PRZEDE WSZYSTKIM DZISIEJSZA SZKOŁA POWINNA PRZYGOTOWYWAĆ DO ŻYCIA W DRUGIEJ POŁOWIE XXI WIEKU.
Analiza tendencji centralnej „Człowiek – najlepsza inwestycja”
Porównywarki cen leków w Polsce i na świecie. Porównywarki w Polsce.
Teoria masowej obsługi Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Komunikatory Zespół Szkół Zawodowych Nr 3 im. Adama Kocura w Katowicach - Janowie.
Instalacja nienadzorowana windows xp Jakub klafta.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Każdy człowiek ma prawo do... - problem łamania praw człowieka w Azji.
POP i SIR POK1 i POK2.
Urządzenia i technologie mobilne. Tablet Mobilny komputer większy niż telefon komórkowy, którego główną właściwością jest posiadanie dużego ekranu z zastosowaną.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
Moduł SDI – zasilanie węzłów IIP oraz wykorzystanie danych. Wprowadzenie. Szkolenie przeprowadzone w ramach projektu „TERYT 3 – Rozbudowa systemów do prowadzenia.
Budżetowanie kapitałowe cz. III. NIEPEWNOŚĆ senesu lago NIEPEWNOŚĆ NIEMIERZALNA senesu strice RYZYKO (niepewność mierzalna)
PORADNIK WPROWADZANIA AKCJI. OGÓLNIE: Akcja musi zostać utworzona i opublikowana co najmniej tydzień przed jej rozpoczęciem. W opisie muszą znajdować.
System operacyjny Renata P. System operacyjny - jest to zbiór nadrzędnych i niezbędnych programów umożliwiających pracę na komputerze. Jest on pośrednikiem.
DECYZJA O WARUNKACH ZABUDOWY tzw. „Wuzetka”
Konstruowanie robotów z wykorzystaniem Vex IQ
Kluczowe elementy skutecznej strategii analizy danych internetowych
T.15 Wybór narzędzi dla reengineeringu (szczegóły).
Schematy blokowe.
Symulacja procesu BPMN
Full Text Finder Przegląd Publication Finder
Microsoft® Office SharePoint® Server 2007 — szkolenie
ALGORYTMY I STRUKTURY DANYCH
Akademia C# lab. 9 Zdarzenia i delegaty.
Budowa, typologia, funkcjonalność
Optymalizacja programów Open-Source
10 kroków do zmiany nawyków
Wykorzystanie aplikacji użytkowych do przeprowadzenia cyberataku
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Bartosz Kowkrak i Aleksander Szydłowski.
System operacyjny cz.2.
Git - system kontroli wersji
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Jak dostosować witrynę internetową usługi Microsoft SharePoint Online
Temat: Pliki— miejsce na komputerowe informacje
Tworzenie modelu: przeglądanie wyników, redukcja rozmiarów modelu.
Laboratorium 1 – obsługa wejść i wyjść
The Game Engine For Mobile
Jak korzystać z usługi Video s i Raportu Kontaktów
Koszyk danych.
SYSTEM KONTROLI FREKWENCJI
Podstawy informatyki Zygfryd Głowacz.
Zapraszamy do nowego programu PowerPoint
Zapraszamy do nowego programu PowerPoint
Strukturalne wzorce projektowe
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Jak szukać błędów w Eclipsie?
Program na dziś Wprowadzenie Logika prezentacji i artykułu
WYBRANE ZAGADNIENIA PROBABILISTYKI
Autor: Magdalena Linowiecka
Asynchroniczne operacje I/O za pomocą IOCP
Najważniejsze operacje graficzne w programie GIMP
Najważniejsze operacje graficzne w programie GIMP
dr Robert Kowalczyk, PWSZ Płock
Zapis prezentacji:

Grafika Animacyjna wykład 3 opracowanie: dr Joanna Sekulska-Nalewajko Wizualizacja i animacja komputerowa Rok akademicki 2013/2014

Plan wykładu Dźwięk we Flash Typy plików dźwiękowych obsługiwanych we Flash Klasyczna i dynamiczna obsługa dźwięku Klasy dźwięku Obsługa zdarzeń dźwięku

Praca z dźwiękiem Flash zapewnia różne formy wykorzystania dźwięku. Istnieje możliwość: tworzenia dźwięków odtwarzanych bez przerwy, niezależnie od Osi czasu posłużenia się Osią dla zsynchronizowania animacji ze ścieżką dźwiękową przypisywania dźwięków do przycisków dla uzyskania większej interaktywności, sterowania siłą dźwięku dla nadania ścieżce dźwiękowej większej płynności. pobierania metadanych ID3 z pliku mp3

Formaty plików dźwiękowych MP3 – najpopularniejszy plik dźwiękowy w Internecie; format charakteryzuje się świetną jakością dźwięku i małymi rozmiarami pliku. Sprawdza się bardzo dobrze we Flashu – jest to jedyny format, jaki może być ładowany do pliku Flasha w czasie wykonywania, WAV – ma większy rozmiar niż MP3, ale zachowuje bardzo wysoką jakość dźwięku – standardowy format w systemie Windows, AIFF – format podobny do WAV, ale stosowany na komputerach Macintosh, system Windows może mieć problem z tymi plikami.

Możliwości wstawiania dźwięku Import do biblioteki filmu wstawienie ręczne na oś czasu linkowanie dźwięku będącego w bibliotece (AS) Dołączanie dźwięku z zewnątrz filmu poprzez AS

Dźwięk na osi czasu Dźwięki można importować do biblioteki i wstawiać bezpośrednio na listwę czasową sceny, klipu lub przycisku. Dźwięk reprezentowany jest wówczas w klatce przez niebieską linię:

Dźwięk na osi czasu Ważne jest ustawienie odpowiednich opcji dla dźwięku Dla dźwięku zsynchronizowanego z listwą czasową najlepszym ustawieniem jest opcja URUCHOM: dźwięk odtwarza się automatycznie, nie pozwala na nakładanie się dźwięków, nie uruchamiany jest od początku przy zapętleniu filmu

Pozostałe opcje Synchronizacji Zdarzenie – Jeśli film odtwarzany jest w pętli to za każdym razem będzie rozpoczynał się nowy dźwięk nakładając się na już odtwarzany; Uruchom – nie pozwala na nakładanie się dźwięków; jeśli film odtwarzany jest w pętli to odtwarzanie dźwięku jest kontynuowane; Zatrzymaj – dźwięk jest umieszczony w 1 klatce i zatrzymany Strumień – Jeśli film odtwarzany jest w pętli to dźwięk też startuje od początku

Dźwięk na osi czasu przycisku Na listwie czasowej przycisku dźwięk umieszczamy w klatce HIT Dla dźwięku zsynchronizowanego z listwą czasową najlepszym ustawieniem jest także opcja URUCHOM: dźwięk zaczyna odtwarzać się po kliknięciu na przycisk, ale nie pojawiają się kolejne dźwięki przy kolejnym klikaniu na przycisk (brak nakładania się dźwięków)

Efekty dźwięku Efekty z tej listy pozwalają na zarządzanie dźwiękiem osadzonym na listwie czasowej Sceny, klipu lub przycisku.

Własny efekt użytkownika Użytkownik może wybrać moment filmu i kanał , w którym chce dokonywać zmian głośności

Dźwięki a ActionScript Z poziomu ActionScript można nie tylko wczytać do filmu dźwięk z osobnego pliku dźwiękowego ale także sterować odtwarzaniem dźwięku: rozpocząć lub wstrzymać odtwarzanie zmienić głośność lub balans (osobno dla każdego głośnika) można uzależnić parametry dźwięku od działań użytkownika lub przebiegu animacji odczytać informacje o postępie ładowania lub odtwarzania dźwięku itp.

Dźwięk uruchamiany z biblioteki Dźwięki umieszczone w bibliotece mogą być uruchamiane bez konieczności umieszczania ich na listwie czasowej Wymaga to udostępniania symboli dźwiękowych z biblioteki środowisku ActionScript

Dźwięk uruchamiany z biblioteki Procedura polega na utworzeniu nowej klasy dla symbolu będącej rozszerzeniem jednej z już istniejących klas (w tym wypadku klasy Sound), dzięki czemu możemy tworzyć nowe egzemplarze danego symbolu dynamicznie (za pomocą funkcji konstruktora)

Dźwięk uruchamiany z biblioteki Klasa Adele dziedziczy wszystkie właściwości i metody klasy Sound().

Linkowanie za pomocą przycisku Aby zapobiec nakładaniu się dźwięków, które uruchamiane są po każdym kliknięciu należy użyć metody stopAll() należącej do klasy SoundMixer.

Klasy AS obsługujące dźwięk Sound SoundChannel SoundMixer SoundTransform SoundEvent SoundLoaderContext ID3Info Microphone

Klasy AS obsługujące dźwięk Każdy ładowany i odtwarzany dźwięk wymaga własnej instancji klasy Sound oraz często klasy SoundChannel. Wyjście z wielu instancji SoundChannel jest następnie miksowane razem przez klasę globalną SoundMixer podczas odtwarzania.

Klasa Sound obsługuje ładowanie dźwięku, zarządza podstawowymi właściwościami dźwięku rozpoczyna odtwarzanie dźwięku Wczytując dźwięk musimy powołać jego egzemplarz jako obiekt tej klasy. Dopiero wówczas możemy zarządzać dźwiękiem, np. w pierwszej koleności użyć metody play(); .

Klasa SoundChannel Egzemplarz tej klasy powstaje automatycznie przy powołaniu obiektu klasy Sound (udostępnia go program Flash Player i środowisko AIR a więc po rozpoczęciu odtwarzania dźwięku) Klasa wyposażona jest we własności, dzięki którym możemy sterować dźwiękiem: jedną z własności jest obiekt SoundTransform, który pozwala kontrolować globalne natężenie dźwięku oraz jego balans. służy także do zatrzymywania odtwarzania informuje o postępie odtwarzania

SoundMixer Klasa SoundMixer umożliwia kontrolowanie danych wyjściowych, jeśli wymagane jest kontrolowanie dźwięku połączonego czyli odtwarzania na raz kilku plików dźwiękowych; przykładem użycia tej klasy jest metoda stopAll();

SoundTransform Klasa SoundTransform zawiera wartości sterujące głośnością dźwięku oraz panoramowaniem. Obiekt SoundTransform można zastosować do konkretnego obiektu SoundChannel, do globalnego obiektu SoundMixer, lub, miedzy innymi, do obiektu Microphone.

ID3Info Obiekt ID3Info zawiera właściwości reprezentujące metadane ID3, często przechowywane w plikach dźwiękowych mp3.

SoundLoaderContext Klasa SoundLoaderContext określa, ile sekund buforowania należy zastosować podczas ładowania dźwięku, oraz czy podczas ładowania program Flash Player lub AIR ma szukać na serwerze pliku strategii. Obiekt SoundLoaderContext jest używany jako parametr metody Sound.load().

Microphone Klasa Microphone reprezentuje mikrofon lub inne urządzenie wejściowe dźwiękowe podłączone do komputera użytkownika. Obiekt Microphone steruje wzmocnieniem, częstotliwością próbkowania oraz innymi wielkościami charakterystycznymi dla jego własnego strumienia dźwiękowego. Klasy Sound, SoundChannel i SoundMixer nie są używane dla danych dźwiękowych uzyskanych z mikrofonu

Dźwięk z zewnętrznych plików Zalety ładowania plików dźwiękowych dopiero w trakcie odtwarzania filmów: Mniejszy rozmiar pliku SWF Odtwarzanie strumieniowe: odtwarzanie zewnętrznego pliku audio można rozpocząć od początku pliku dźwiękowego podczas ładowania pozostałej części pliku.

Przykład skryptu - uruchomienie Wymagane jest: powołanie instancji obiektu z klasy Sound określenie pliku dźwiękowego, który chcemy wczytać (URLRequest) wczytanie tego pliku – metoda load(); uruchomienie dźwięku – metoda play();

Metoda play() Metoda ta przyjmuje trzy opcjonalne parametry: przesunięcie w czasie (w milisekundach) mySound.play(10000) liczba odtworzeń dźwięku mySound.play(0,3) mySound.play(0,99999) trzecim parametrem jest obiekt SoundTransform Rozpoczęcie odtwarzania nastąpi od 10 sekundy utworu. Dźwięk rozpocznie się od początku utworu i zostanie powtórzony 3 razy.

Wstrzymanie odtwarzania Służy do tego metoda stop() klasy SoundChannel!!! Musimy najpierw powołać obiekt tej klasy i przypisać do niego odtwarzany dźwięk Dopiero po tych zabiegach wolno nam użyć metody stop(): var myChannel:SoundChannel = mySound.play(); myChannel.stop(); Ale w celu zatrzymania zarówno ładowania, jak i odtwarzania dźwięku przesyłanego strumieniowo należy wywołać metodę Sound.close(). Można użyć też metody stopAll() klasy SoundMixer

Pauza i wznawianie dźwięku Dzięki właściwości position obiektu SoundChannel możemy wiedzieć jaki jest bieżący czas odtwarzania nagrania (w milisekundach) Informację tę możemy przechwycić do zmiennej, a następnie wartość tę wykorzystać jako parametr w metodzie play() obiektu Sound. var myChannel:SoundChannel = mySound.play(); var pausePosition:int; pausePosition = myChannel.position;

Pauza i wznawianie dźwięku

Modyfikacja dźwięku Aby zmienić ogólną głośność i balans dźwięku należy wprowadzić trzeci parametr do metody play() Wymaga on użycia obiektu klasy SoundTransform – należy więc go utworzyć: Następnie należy ustawić własność tego obiektu: I użyć go jako trzeciego parametru metody play():

Modyfikacja dźwięku Aby zmienić głośność lub balans dźwięku, który jest już odtwarzany należy przypisać obiekt SoundTransform do własności soundTransform obiektu SoundChannel:

Właściwości obiektu SoundTransform volume wyciszenie od 0 do 1 pan balans głośników od -1 do 1 leftToLeft głośnik lewy od 0 do 1 leftToRight przeniesienie od 0 do 1 rightToLeft przeniesienie od 0 do 1 rightToRight głośnik prawy od 0 do 1

Postęp ładowania Powinniśmy kontrolować postęp ładowania dźwięku oraz ewentualne występowanie błędów. Jeśli dźwięk jest dość duży, może on nie zostać całkowicie załadowany, a próba odtworzenia niezaładowanego dźwięku może skończyć się błędem wykonywania. Obiekt Sound dysponuje pewną liczbą różnych zdarzeń w procesie ładowania dźwięku: open (Event.OPEN), progress (ProgressEvent.PROGRESS), id3 (Event.ID3), complete (Event.COMPLETE), ioError (IOErrorEvent.IO_ERROR)

Odtworzenie dźwięku po zładowaniu var s:Sound = new Sound(); s.addEventListener(Event.COMPLETE, onSoundLoaded); var req:URLRequest = new URLRequest("bigSound.mp3"); s.load(req); function onSoundLoaded(event:Event):void { var localSound:Sound = event.target as Sound; localSound.play(); }

Informacja o postępie ładowania var s:Sound = new Sound(); s.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); s.addEventListener(IOErrorEvent.IO_ERROR, onIOError); var req:URLRequest = new URLRequest("bigSound.mp3"); s.load(req); function onLoadProgress(event:ProgressEvent):void { var loadedPct:uint = Math.round(100 * (event.bytesLoaded / event.bytesTotal)); trace("The sound is " + loadedPct + "% loaded."); } function onIOError(event:IOErrorEvent) { trace("The sound could not be loaded: " + event.text);