Sisällysluettelo:

Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma: 13 vaihetta
Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma: 13 vaihetta

Video: Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma: 13 vaihetta

Video: Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma: 13 vaihetta
Video: 10 Mielenkiintoista FAKTAA MÄKKÄRISTÄ 2024, Heinäkuu
Anonim
Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma
Mielenkiintoinen käsittelyohjelmointiopas suunnittelijalle-median lataaminen ja tapahtuma

Käsittelyyn voidaan ladata paljon ulkoista dataa, joista kolme on hyvin yleisesti käytettyjä. Ne ovat kuva, ääni ja video erikseen.

Tässä luvussa aiomme puhua äänen ja videon lataamisesta yksityiskohtaisesti yhdistettynä tapahtumiin. Lopulta voit luoda oman musiikkinäppäimistön tai -paletin.

Vaihe 1: Lue kuva

Ennen kuin aloitamme, katsotaan taaksepäin kuvan latausmenetelmää.

Vaihe 2: Kuvaan liittyvät toiminnot

Ennen kuin käytämme näitä toimintoja, meidän on luotava kuvaobjekti PImagen kautta. Sitten voimme käyttää näitä toimintoja kaikenlaisten kuvaominaisuuksien määrittämiseen.

Muista tallentaa kuvalähteesi datatiedostoon ennen ohjelman suorittamista.

Vaihe 3: Musiikin lataaminen, toisto ja pysäytys

Seuraavassa alamme virallisesti esitellä sinulle musiikin kutsumisen. Hyvin samanlainen kuin kuvien lataaminen, sinun on ilmoitettava audio -objekti alussa. Voit viitata alla olevaan esimerkkiin todellisesta kieliopista.

Koodiesimerkki (10-1):

[cceN_cpp theme = "dawn"] tuonnin käsittely.ääni.*;

SoundFile ääni;

void setup () {

koko (640, 360);

tausta (255);

ääni = uusi SoundFile (tämä, "1.mp3");

}

void draw () {

}

tyhjä avainPainettu () {

//Soita ääni

jos (avain == 'p') {

sound.play ();

}

// Lopeta ääni

jos (avain == 's') {

sound.stop ();

}

} [/cceN_cpp]

Valmistautuminen:

Itse prosessointi ei sisällä äänikirjastoa. Sinun on ladattava se itse. Joten ennen kuin kirjoitat koodisi, sinun on parasta tehdä seuraavat valmistelut.

Lisää kirjasto käsittelyyn. Tässä on yleinen käytäntö. Valitse valikkoriviltä "Työkalu"- "Lisää työkalu" ja siirry sitten kohtaan "Kirjastot". Kirjoita kirjaston avainsanat hakukenttään, jotta voit ladata ja asentaa sen suoraan.

Jos kuitenkin käytämme tätä toimintoa kotimaassamme (Kiinassa), emme voi ladata sitä yhdistämällä verkko suoraan. Meidän on käynnistettävä VPN. Vaikka aloitamme sen, olosuhteet ovat epävakaat. Joten sinun on oltava kärsivällinen kokeilemaan sitä useita kertoja. Tämä on kätevin tapa ladata. Jos et voi asentaa, sinun on ladattava viralliselta verkkosivustolta manuaalisesti. (https://processing.org/reference/libraries/) Koska manuaalinen asennusmenetelmä on hyvin monimutkainen, keskustelemme siitä toisessa luvussa.

Koodi Exaplain:

Äänikirjasto voi toimia kunnolla valmistelun jälkeen. Selvitä yllä oleva koodi, napsauta RUN, niin se toimii. Paina näppäintä "P" musiikin toistamiseksi, "S" lopettaaksesi musiikin.

Jos se on tottunut ohjelmaan, meidän on ensin ladattava se. Aluksi meidän on lisättävä lause "tuonti käsittely. Ääni.*". "tuonti" on avainsana, joka tarkoittaa lataamista kirjaimellisesti. Lisää kirjaston nimi tuonnin taakse, niin se lataa kirjaston. Häntä seuraa yleensä "*" -merkkiä, joten se lataa kaikki kirjastoon liittyvät luokat ohjelmaan lisäämättä niitä yksitellen manuaalisesti.

Toisessa virkkeessä "SoundFile sound;" on julistanut audio -objektin. SoundFile on samanlainen kuin PImage.

Toimintoasetuksissa "sound = new SoundFile (tämä," 1.mp3 ");" käytetään objektin luomiseen ja sen lukupolun määrittämiseen. Täällä olemme itse asiassa jo alkaneet käyttää uutta konseptiluokkaa. Tällä hetkellä emme keskustele siitä syvällisesti. Meidän tarvitsee vain tietää, että se on kiinteä kirjoitusmenetelmä ja viimeinen parametri on musiikkilähteen osoitteen täyttäminen.

KeyPressed () -tapahtumien joukossa "sound.play ()" ja "sound.stop ()" toimivat suhteellisesti toiston ja pysäytyksen vaikutuksena. "". keskellä osoittaa jäsentoimintoa, joka toistaa ja pysäyttää kuuluvat audio -objekteihin. Voimme pitää jäsenfunktiota objektiin sisältyvänä funktiona. Se kuuluu tähän objektiin, joka on määritelty etukäteen. Myöhemmin, kun meidän on toistettava useita ääniobjekteja, meidän on vain lisättävä ".play ()" suhteellisen muuttujan nimen taakse.

Äänilähteet on tallennettava datatiedostoon saman luonnosluettelon alle (pde -pääte). Jos niitä ei ole, voit luoda sellaisen manuaalisesti.

Älä unohda kirjoittaa funktion piirtämistä. Vaikka et piirtänyt grafiikkaa, musiikin toistaminen on välttämätöntä.

Yllä oleva menettely näyttää melko monimutkaiselta, mutta sinun on lisättävä vain useita lauseita koodia, niin voit toteuttaa toistotoiminnon. Se on erittäin kätevä.

Käsittely tukee yleisiä ääniformaatteja, kuten mp3, wav, ogg jne.

Vaihe 4: Musiikin nopeuden säätö

Seuraavat esimerkit alkavat tulla paljon mielenkiintoisiksi. Käsittely on tarjonnut joitakin toimintoja, jotka voivat hallita musiikin toistonopeutta. Samalla äänet muuttuvat musiikin toistonopeuden mukaan. Kun käytämme ohjausta hiirellä, se tuottaa erittäin psykedeelisen vaikutuksen.

Videosivusto:

Koodiesimerkki (10-2):

[cceN_cpp theme = "dawn"] tuonnin käsittely.ääni.*;

SoundFile ääni;

void setup () {

koko (640, 360);

tausta (255);

ääni = uusi SoundFile (tämä, "1.mp3");

}

void draw () {

float speed = mouseX/(float) leveys * 3;

sound.rate (nopeus);

float vol = mouseY/(float) korkeus * 4;

sound.amp (tilavuus);

}

tyhjä avainPainettu () {

//Soita ääni

jos (avain == 'p') {

sound.play ();

}

// Lopeta ääni

jos (avain == 's') {

sound.stop ();

}

} [/cceN_cpp]

Koodi Selitä:

Toiminto.rate () ohjaa äänen toistonopeutta. Suluissa oleva arvo määrittää nopean ja hitaan toistonopeuden. Kun arvo on 1, toistonopeus on normaali. Kun se on yli 1, kiihdytä; kun se on alle 1, hidasta sitten.

Toiminto.amp () ohjaa äänenvoimakkuutta. Suluissa oleva arvo määrittää äänenvoimakkuuden arvon. Kun se on 1, äänenvoimakkuus on normaali. Kun se on yli 1, lisää äänenvoimakkuutta; kun se on alle 1, vähennä sitten äänenvoimakkuutta.

Täällä olemme rakentaneet kaksi paikallista muuttujaa nopeus ja tilavuus parametreiksi, jotka ladataan. Siksi hiiren vaakasuora koordinaatti muuttaa musiikin sävyä ja pystysuuntainen koordinaatti muuttaa musiikin äänenvoimakkuutta.

Vaihe 5: Videon toisto ja pysäytys

Käsittelyssä videon lataus on samanlainen kuin äänen lataaminen. Sinun on ensin ladattava videokirjasto. (https://processing.org/reference/libraries/video/index.html)

Koodiesimerkki (10-3):

[cceN_cpp theme = "dawn"] tuonnin käsittely.video.*;

Elokuva mov;

void setup () {

koko (640, 360);

tausta (0);

mov = uusi elokuva (tämä, "1.mov");

}

void movieEvent (Elokuva) {

mov.read ();

}

void draw () {

kuva (mov, 0, 0, 640, 360);

}

tyhjä avainPainettu () {

jos (avain == 'p') {

mov.play ();

}

jos (avain == 's') {

mov.stop ();

}

jos (avain == 'd') {

mov.pause ();

}

} [/cceN_cpp]

Videon kuvakaappaus:

Koodi Selitä:

Ensimmäistä virkettä "import processing.video.*;" Käytetään videokirjaston lataamiseen.

Toista virkettä "Movie mov;" käytetään ilmoittamaan video -objekti. Niistä "Elokuva" -toiminto on samanlainen kuin PImage.

Funktion asetuksissa "mov = new Movie (tämä," 1.mov ");" on luoda objekti ja määrittää sen lukupolku. Viimeinen parametri on täytettävä videolähteen osoitteella.

Behine setup, movieEvent edustaa videotapahtumaa. Sitä käytetään videotietojen päivittämiseen ja lukemiseen. "mov.read ()" tarkoittaa tässä tapauksessa lukemista.

Kuvien näyttämistä lukuun ottamatta toimintokuva voi näyttää myös videota. Voimme pitää video -kohdetta dynaamisena kuvana. Ensimmäinen parametri, täytämme video -objektin muuttujan nimen. Toinen ja kolmas parametri ovat videolla piirretyt vaaka- ja pystysuuntaiset koordinaatit. Neljäs ja viides parametri määrää videonäytön pituuden ja leveyden.

Toiminto.play () tarkoittaa toistoa. Toiminto.stop () tarkoittaa pysäytystä ja se nollaa videon. Toiminto.pause () tarkoittaa taukoa. Se keskeyttää nykyisen toiston, joka jatkuu, kunnes toiminto.play () käynnistetään.

Vaihe 6: Videon nopeuden säätö

Koodiesimerkki (10-4):

[cceN_cpp theme = "dawn"] tuonnin käsittely.video.*;

Elokuva mov;

void setup () {

koko (640, 360);

tausta (0);

mov = uusi elokuva (tämä, "transit.mov");

}

void movieEvent (Elokuva) {

mov.read ();

}

void draw () {

kuva (mov, 0, 0, leveys, korkeus);

float newSpeed = mouseX/(float) leveys * 4;

mov.speed (newSpeed);

}

tyhjä avainPainettu () {

jos (avain == 'p') {

mov.play ();

}

jos (avain == 's') {

mov.stop ();

}

jos (avain == 'd') {

mov.pause ();

}

}

[/cceN_cpp]

Koodi Selitä:

Toimintoa.speed () voidaan käyttää videon toistonopeuden säätämiseen. Kun parametrin arvo on 1, toistonopeus on normaali. Kun arvo on yli 1, kiihdytä; kun se on alle 1, hidasta sitten.

Koska olemme rakentaneet paikallisen muuttujan newSpeed ja tuoneet sen funktioon setSpeed (), hiiren koordinaatit vaikuttavat suoraan videon toistonopeuteen.

Lisää esimerkkejä videosta voit lukea kohdasta Kirjastot - Video tapauskirjastossa.

Vaihe 7: Yleisten tapahtumien käsittely

Aikaisemmin olemme ottaneet käyttöön vain keyPressed () -tapahtuman. Se käynnistyy näppäimistön painamisen jälkeen. Seuraavassa esittelemme sinulle muita käsittelyn yleisiä tapahtumia.

Edellä mainittujen tapahtumien käyttötapa on samanlainen kuin keyPressed. Niillä ei ole järjestystä koodin kirjoittamisessa. Toisin sanoen riippumatta siitä, minkä tapahtuman asetit ennen toiminnon asetusta tai sen taakse, saat saman tuloksen. Suoritusmääräys liittyy vain itse tapahtuman laukaisuehtoon. Vain jos ehto täyttyy, se suoritetaan. Kaikki yllä olevat tapahtumat ovat erittäin helposti ymmärrettäviä. Sinun on vain tehtävä pieni kokeilu, niin voit nopeasti ymmärtää niiden käyttötavat.

Tapahtuman kulku

Voimme käyttää esimerkkiä tietääksemme tapahtumien suoritusjärjestyksen.

Koodiesimerkki (10-5):

[cceN_cpp theme = "dawn"] mitätön asennus () {

frameRate (2);

println (1);

}

void draw () {

println (2);

}

tyhjä hiiriPainettu () {

println (3);

}

void mouseMove () {

println (4);

}

void mouseReleased () {

println (5);

}

tyhjä avainPainettu () {

println (6);

}

void keyReleased () {

println (7);

} [/cceN_cpp]

Koodi Selitä:

Toimintoasetuksissa toiminto frameRate () on asettanut ohjelman toimintanopeudeksi 2 kuvaa sekunnissa. Kehysnopeuden alentaminen voi auttaa meitä havaitsemaan konsolin ulostulon siltä varalta, että käynnistyneet tapahtumat tulevat välittömästi takaisin taaksepäin.

Yritä liikuttaa hiirtä, napsauttaa hiirtä, vapauttaa hiiri ja tarkkailla tulosta. Tutustu tapahtuman suoritusjärjestykseen println: n kautta.

Kannattaa kiinnittää huomiota siihen, että piirtotoimintoja ei voi kirjoittaa muihin tapahtumiin paitsi funktion piirtämiseen, tai niitä ei voida näyttää. Jos haluamme hallita graafisten komponenttien piilottamista ja näyttämistä tapahtumilla, kuten keyPressed, voimme harkita bool -muuttujan luomista keskikokoiseksi.

Tapahtumat toteutetaan järjestyksessä. Vasta kun kaikki nykyisen tapahtuman koodi on otettu käyttöön, se suorittaa koodin seuraavassa tapahtumassa.

Vaihe 8: Kattava esimerkki-musiikkinäppäimistö

Yhdessä äskettäin tarttuneiden tapahtumien kanssa voimme lisätä uusia vuorovaikutuksia ohjelmaan. Seuraavaksi vain muutamassa minuutissa voimme analogisesti soittaa musiikkinäppäimistön helposti.

Video -sivusto:

Koodiesimerkki (10-6):

[cceN_cpp theme = "dawn"] tuonnin käsittely.ääni.*;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean key1, key2, key3, key4, key5;

void setup () {

koko (640, 360);

tausta (255);

noStroke ();

sound1 = uusi SoundFile (tämä, "do.wav");

sound2 = uusi SoundFile (tämä, "re.wav");

sound3 = uusi SoundFile (tämä, "mi.wav");

sound4 = uusi SoundFile (tämä, "fa.wav");

sound5 = uusi SoundFile (tämä, "so.wav");

}

void draw () {

tausta (255, 214, 79);

rectMode (KESKUS);

kelluke w = leveys * 0,1;

uimuri h = korkeus * 0,8;

jos (avain1) {

täyttö (255);

} muuta {

täyttö (238, 145, 117);

}

suora (leveys/6, korkeus/2, w, h);

jos (avain2) {

täyttö (255);

} muuta {

täyttö (246, 96, 100);

}

suora (leveys/6 * 2, korkeus/2, w, h);

jos (avain3) {

täyttö (255);

} muuta {

täyttö (214, 86, 113);

}

suora (leveys/6 * 3, korkeus/2, w, h);

jos (avain4) {

täyttö (255);

} muuta {

täyttö (124, 60, 131);

}

suora (leveys/6 * 4, korkeus/2, w, h);

jos (avain5) {

täyttö (255);

} muuta {

täyttö (107, 27, 157);

}

suora (leveys/6 * 5, korkeus/2, w, h);

}

tyhjä avainPainettu () {

jos (avain == 'a') {

sound1.play ();

avain1 = tosi;

}

jos (avain == 's') {

sound2.play ();

avain2 = tosi;

}

jos (avain == 'd') {

sound3.play ();

key3 = tosi;

}

jos (avain == 'f') {

sound4.play ();

key4 = tosi;

}

jos (avain == 'g') {

sound5.play ();

key5 = tosi;

}

}

void keyReleased () {

jos (avain == 'a') {

avain1 = epätosi;

}

jos (avain == 's') {

avain2 = epätosi;

}

jos (avain == 'd') {

avain3 = epätosi;

}

jos (avain == 'f') {

avain4 = epätosi;

}

jos (avain == 'g') {

key5 = epätosi;

}

} [/cceN_cpp]

Koodi Selitä:

Meidän on luotava useita ääniobjekteja suhteellisten äänitietojen lukemiseksi, jotta voimme toistaa erilaisia ääniä, kun eri näppäimet laukaistaan.

Tässä käytämme uutta tapahtuma -avaintaReleased (). Tämän tapahtuman tehtävänä on palauttaa näppäimistön väri alkuperäiseen väriin. Kun avain vapautetaan, se käynnistyy.

Päässä ilmoitettuja 5 loogista arvoa käytetään avaimen tilan havaitsemiseen.

Vaihe 9: Kattava esimerkki-musiikkipaletti 1

Näppäimistön lisäksi hiiren tapahtuma on hyvä asia, että meidän on käytettävä sitä joustavasti. Seuraavassa esimerkissä luomme musiikkipaletin, josta olemme käyttäneet kahta hiireen liittyvää tapahtumaa.

Videosivusto:

Koodiesimerkki (10-7):

[cceN_cpp theme = "dawn"] tuonnin käsittely.ääni.*;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean isDragging;

void setup () {

koko (640, 360);

tausta (255, 214, 79);

noStroke ();

sound1 = uusi SoundFile (tämä, "do.wav");

sound2 = uusi SoundFile (tämä, "re.wav");

sound3 = uusi SoundFile (tämä, "mi.wav");

sound4 = uusi SoundFile (tämä, "fa.wav");

sound5 = uusi SoundFile (tämä, "so.wav");

}

void draw () {

if (isDragging) {

täyttö (107, 27, 157, 100);

ellipsi (mouseX, mouseY, 16, 16);

}

}

void mouseDragged () {

isDragging = totta;

if (mouseX> 100 && mouseX <105) {

sound1.play ();

}

if (mouseX> 200 && mouseX <205) {

sound2.play ();

}

if (mouseX> 300 && mouseX <305) {

sound3.play ();

}

if (mouseX> 400 && mouseX <405) {

sound4.play ();

}

if (mouseX> 500 && mouseX <505) {

sound5.play ();

}

}

void mouseReleased () {

isDragging = epätosi;

} [/cceN_cpp]

Koodi Selitä:

Toivomme, että voimme piirtää kuvia vasta kun olemme painaneet hiirtä ja vetäneet sitä. Joten meidän on rakennettava boolen muuttuja isDragging saadaksesi nykyisen tilan.

Kun vedät hiirtä, isDragging tulee todellinen arvo niin, että piirtotoiminnot suoritetaan Draw -sovelluksessa. Se jättää jälkiä näytölle. Kun vapautamme hiiren, isDraggingista tulee väärä arvo. Joten piirtotoiminnot funktion piirtämisessä pysäyttävät suorituksen.

Olemme suunnitelleet useita laukaisevia olosuhteita hiiren vetämisessä. Esimerkiksi kun hiiren vaakasuuntainen koordinaatti on 100 ja 105 pikselin välillä, musiikki toistetaan automaattisesti. Tämä tekee ruudusta useita näkymättömiä merkkijonoja. Vain jos hiiri kulkee tiettyjen alueiden läpi, se laukaisee suhteellisen musiikin.

Vaihe 10: Kattava esimerkki-Music Palette 2 (päivitetty versio)

Yllä olevan esimerkin vaikutus on jo tarpeeksi hyvä. Mutta jos tarkastelemme sitä huolellisesti, löydämme paljon ongelmia. Esimerkiksi kun hiiri liikkuu erittäin nopeasti, se jättää pyöreän pisteen näytölle joka kerta, kun se liikkuu. Se ei ole johdonmukainen suora viiva. Samaan aikaan se aiheuttaa myös musiikkivuotoa. Kun hiiri liikkuu hyvin hitaasti ja kulkee sijainnin läpi, kun vaakasuora koordinaatti on välillä 100 ja 105, se lähettää musiikkia useita kertoja hyvin lyhyessä ajassa, mikä antaa sinulle tunteen jumissa. Kaikki nämä ongelmat voimme ratkaista alla olevan esimerkin avulla.

Voit katsoa videoita alla olevasta linkistä:

v.qq.com/x/page/w03226o4y4l.html

Koodiesimerkki (10-8):

[cceN_cpp theme = "dawn"] tuonnin käsittely.ääni.*;

SoundFile sound1, sound2, sound3, sound4, sound5;

boolean isDragging;

void setup () {

koko (640, 360);

tausta (255, 214, 79);

noStroke ();

sound1 = uusi SoundFile (tämä, "do.wav");

sound2 = uusi SoundFile (tämä, "re.wav");

sound3 = uusi SoundFile (tämä, "mi.wav");

sound4 = uusi SoundFile (tämä, "fa.wav");

sound5 = uusi SoundFile (tämä, "so.wav");

}

void draw () {

if (isDragging) {

aivohalvaus (107, 27, 157, 100);

iskuPaino (10);

viiva (mouseX, mouseY, pmouseX, pmouseY);

}

}

void mouseDragged () {

isDragging = totta;

jos ((hiiriX - 100) * (pmouseX - 100) <0) {

sound1.play ();

}

jos ((hiiriX - 200) * (pmouseX - 200) <0) {

sound2.play ();

}

jos ((hiiriX - 300) * (pmouseX - 300) <0) {

sound3.play ();

}

jos ((hiiriX - 400) * (pmouseX - 400) <0) {

sound4.play ();

}

jos ((hiiriX - 500) * (pmouseX - 500) <0) {

sound5.play ();

}

}

void mouseReleased () {

isDragging = epätosi;

} [/cceN_cpp]

Koodi Selitä:

Tässä olemme käyttäneet kahta muuttujaa pmouseX ja pmouseY, joita kuljetetaan itse käsittelyjärjestelmässä. Ne ovat samanlaisia kuin mouseX ja mouseY, mutta ne saivat hiiren koordinaatin viimeisessä kehyksessä.

Toimintojen piirtämisessä olemme käyttäneet toimintolinjaa () alkuperäisen funktion ellipsin () korvaamiseksi. Tämä tekee viimeisen kehyksen koordinaatista suoran yhteyden nykyisen kehyksen koordinaattiin. Voimme siis piirtää johdonmukaisia suoria viivoja tai kaaria.

Tapauksessa mouseDragged olemme suunnitelleet uuden laukaisuehdon. Arvioimalla, ovatko viimeisen kehyksen ja nykyisen kehyksen koordinaatit samalla puolella tietääksesi, ylitetäänkö tietty koordinaatti. Otetaan tämä ehto esimerkkinä: "if ((mouseX - 100) * (pmouseX - 100) <0)". Sen joukosta "mouseX - 100": n positiivisen ja negatiivisen arvon perusteella voimme tietää, onko mouseX vaakasuoran koodinaatin 100 oikealla vai vasemmalla puolella. Samoin kuin "pmouseX - 100". Siksi, kun kaksi etu- ja takapistettä eivät ole samalla puolella, positiivinen kertoo negatiivisen, se saa uuden negatiivisen luvun. Täyttöehdot täyttyvät siis.

Yllä oleva on yksinkertaistettu lauseke, joka on taitavasti käyttänyt tiettyä matemaattista algoritmia-Kaksi negatiivista kerrottuna luo positiivisen. Voit myös jakaa sen kahteen tilanteeseen keskustellaksesi erikseen. Tuomioehtojen kirjoittaminen on kuitenkin paljon monimutkaisempaa. Tuomioehdot "jos ((mouseX = 100) || (mouseX> 100 && pmouseX <= 100))" vastaavat lähdekoodin määrääviä ehtoja.

Vaihe 11: Suhteelliset toiminnot ääni- ja videonhallinnasta

Edellä mainitut toiminnot riittävät yleisiin käyttötilanteisiin. Jos haluat kaivaa sen syvälle, tässä olen kerännyt sinulle joitakin yleisiä ääni- ja videotoimintoja. Voit tutkia sen käyttötapoja omien tarpeidesi mukaan.

Jos haluat lisätietoja, voit tutustua virallisen verkkosivuston asiakirjoihin.

Ääni (https://processing.org/reference/libraries/sound/index.html)

Video (https://processing.org/reference/libraries/video/index.html)

Tämä artikkeli tulee suunnittelija Wenzyltä.

Vaihe 12: Suhteelliset lukemat:

Mielenkiintoisia ohjelmointiohjeita suunnittelijalle-ensimmäisen kosketuksen käsittely

Mielenkiintoisia ohjelmointiohjeita suunnittelijalle - Luo ensimmäinen käsittelyohjelma

Mielenkiintoisia ohjelmointioppaita suunnittelijalle-Ota kuva käyttöön (osa 1)

Mielenkiintoinen ohjelmointiopas suunnittelijalle-saat kuvan toimimaan (osa 2)

Mielenkiintoinen ohjelmointiopas suunnittelijalle- Ohjelman prosessinhallinta- silmukan lausunto

Mielenkiintoisia ohjelmointiohjeita suunnittelijalle-Ohjelmaprosessin ohjaus-Tilailmoitus (osa 1)

Mielenkiintoisia ohjelmointiohjeita suunnittelijalle-Ohjelman prosessinhallinta-Tilanneilmoitus (osa 2)

Mielenkiintoinen ohjelmointiopas suunnittelijalle-mukautetut toiminnot ja fraktaalirekursio

Mielenkiintoinen ohjelmointiopas suunnittelijalle-mukautetut toiminnot ja fraktaalirekursio

Mielenkiintoisia käsittelyohjelmointioppaita suunnittelijalle-Värinhallinta

Vaihe 13: Lähde

Tämä artikkeli on osoitteesta

Jos sinulla on kysyttävää, voit ottaa yhteyttä osoitteeseen : [email protected].

Suositeltava: