Programare în Macromedia Flash. Crearea de jocuri Flash
Programare
Nu presupuneți că ați învățat să programați studiind capitolul Introducere în ActionScript și capitolul Elemente ActionScript pentru crearea de jocuri Există o diferență între a putea scrie cod ActionScript și a avea experiență în programare.
Programarea este dificilă pentru majoritatea oamenilor, dar ușoară pentru mine. Dar am o diplomă în informatică și programez de 18 ani. Fără o experiență similară, nu ar trebui să vă așteptați la rezultate rapide.
Iată câteva principii care vă vor ajuta să învățați să programați. Ca orice abilitate, programarea necesită timp pentru a învăța. Vei descoperi că, cu cât programezi mai mult, cu atât devine mai ușor.
Analiza sarcinilor
Este important să realizați că, dacă o sarcină pare prea mare pentru a fi gestionată, probabil că este. Împărțiți-l în sarcini mai mici și veți găsi o soluție.
Reguli de programare
În timp ce învățați programarea, există câteva reguli de urmat care vă vor ușura munca. Aceste reguli sunt respectate de programatori din întreaga lume, folosind toate limbajele de programare:
Comentarii - Ar trebui să vă obișnuiți să adăugați comentarii la codul dvs. Chiar și liniile care par clare în acest moment pot deveni neclare dacă revii la ele o lună mai târziu;
nume de variabile- folosiți nume de variabile care reflectă scopul acestora. Acestea vor completa comentariile și vă vor ajuta să înțelegeți codul atunci când veți reveni la el mai târziu;
nume de funcții - toate cele de mai sus se aplică numelor de funcții. Ei trebuie să descrie acțiunile pe care le efectuează;
cu cât mai scurt, cu atât mai bine- Blițul nu are limită de lungime a unei funcții. Cu toate acestea, dacă scrieți o funcție care are o lungime de 100 de linii, veți avea dificultăți să o editați mai târziu. Este mai bine să împărțiți funcția în sarcini și să puneți fiecare sarcină într-o funcție separată;
includeți funcții reutilizabile în codul dvs- în timpul programării, nu uitați să vă gândiți la modul în care puteți aplica această sau acea funcție la o sarcină similară sau similară într-o altă parte a programului dvs. Să presupunem că aveți nevoie de o funcție care adaugă un punct la scorul unui jucător. Încercați să utilizați un parametru care vă permite să adăugați nu numai unul, ci și orice alt număr de puncte la scorul dvs.;
încercați să evitați codificarea tare- Codificarea tare înseamnă includerea unor numere specifice în codul tău. Să presupunem că codul tău folosește valoarea 550 pentru a descrie partea dreaptă a spațiului de lucru, acesta va fi codificat în program. Dacă decideți să extindeți zona de lucru la 600 de pixeli, va trebui să modificați fiecare utilizare a valorii 550 din cod. Este mai bine să setați o variabilă numită screenRightSide la 550 la început și să utilizați această variabilă pe tot parcursul programului;
buna organizare- un programator bun trebuie, fără îndoială, să fie capabil să organizeze diverse elemente ale unui program. De exemplu, funcțiile nu ar trebui plasate în cadre diferite, ci într-un singur cadru al videoclipului dvs. În plus, încercați să grupați funcțiile în funcție de sarcinile pe care le îndeplinesc.
Toți programatorii trebuie să depaneze programele pe care le creează. Este imposibil să faci ca un program să funcționeze impecabil prima dată când îl lansezi. Un bun specialist ar trebui să fie capabil să depaneze un program.
Pe lângă utilizarea depanatorului ActionScript, puteți depana într-o varietate de moduri. Când testați redarea unui videoclip, în fereastra de ieșire pot apărea mesaje de eroare. Uneori, acest lucru este suficient pentru a înțelege unde în cod aveți probleme.
Informațiile despre program pot fi, de asemenea, plasate în fereastra Ieșire folosind comanda trace. Vă va ajuta să urmăriți anumite momente ale programului și valoarea anumitor variabile în aceste momente.
Dacă doriți să utilizați depanatorul, vă recomandăm să citiți manualul Flash MX pentru mai multe informații. Depanatorul este un instrument simplu care vă permite să afișați valori variabile în timp ce se redă un film Flash. Cu toate acestea, ea nu este capabilă să facă minuni; Depanatorul vă poate ajuta doar să vă înțelegeți propriul proiect.
Testare
Următorul pas în depanare este testarea jocurilor de către alți oameni. Testarea este un aspect important, mai ales dacă jocul este dezvoltat de tine la nivel profesional. În calitate de programator, nu veți putea evalua în mod obiectiv munca creației dumneavoastră și deficiențele acesteia.
Probabil că vei învăța multe prima dată când cineva joacă jocul tău. Nu ți-ai imaginat niciodată că va face clic pe astfel de elemente. Poate trage elemente în afara zonei de lucru sau poate sta în calea unde nu ar trebui să fie.
De obicei, înainte de prezentarea oficială în fața unui public larg, jocul trece prin două etape de verificare. În prima etapă (testare alfa), jocul este testat de colegii sau prietenii tăi. Testarea beta este efectuată de persoane din afara companiei sau rețelei dvs. În ambele faze, ar trebui să primiți notificări despre orice probleme găsite și să lansați versiuni actualizate ale jocului pe măsură ce acestea sunt remediate.
Din păcate, adesea, atunci când codul este corect din punct de vedere sintactic, programul produce rezultate neașteptate. De exemplu, deoarece Flash nu are nevoie de o declarație specială de variabile, va mânca cu ușurință numele unui obiect inexistent (puteți introduce cu ușurință numele greșit) și va efectua cu sinceritate toate acțiunile care îi sunt atribuite.
Defectele programului includ nu numai erori, ci și conținut inadecvat de joc și funcții lipsă. Încercați să vă perfecționați jocul cât mai mult posibil înainte de a-l declara terminat.
Programare flash
program de curs opțional și manual didactic pentru profesor și elev
Programul cursului. 1
1. Introducere: 1
2. Subiecte de curs: 2
3. Literatură: 2
Manual didactic pentru profesori și elevi. 2
1. Introducere, fereastra „acțiuni în cadru”. 2
2. Variabile. 4
3. Câmpuri I/O. 5
4. Operator condiționat. 8
5. Bucle „cu un parametru” și bucle „while”. unsprezece
7. Programare orientată pe obiecte. 17
8. Schimbarea programatică a proprietăților. 19
9. Cicluri cu trei cadre. Animație software. 22
10. Proiect „Joc interactiv – Poligon de tragere”. 24
Programul cursului
1. Introducere:
Programul Macromedia Flash uimește prin capacitățile sale. Pe lângă instrumentele avansate de desen și animație, Flash are încorporat un limbaj de programare Action Script. Stăpânirea acestui limbaj vă permite nu numai să creați animație de program, jocuri Flash și pagini web interactive, ci vă oferă și cunoștințe despre tehnologiile de programare orientată pe obiecte (denumite în continuare OOP).
În ciuda faptului că creatorii Flash au încercat să simplifice programarea chiar și pentru un utilizator neinstruit, stăpânirea acestor instrumente necesită destul de mult timp. Acest curs este opțional; studenții îl aleg pentru a face o alegere mai informată a unei specializări în liceu. Un studiu detaliat al programului și implementarea unor proiecte serioase poate fi sarcina cursurilor specializate (de exemplu, „Programare web”, „Design web”, „Programare orientată pe obiecte”, etc.), precum și un studiu independent. Cursul de Programare Flash este destinat elevilor de clasa a IX-a care sunt deja familiarizați cu animația Flash și noțiunile de bază ale programării. Ca parte a cursului opțional, este foarte posibil să stăpânești elementele de bază ale programării, tehnologia OOP și să implementezi proiecte simple în Flash. Cursul include 8 proiecte, inclusiv un proiect de calculator Flash și un proiect de joc interactiv. Cursul este dotat cu un manual didactic pentru profesori și elevi.
Scopul cursului:
Să intereseze studenții, să arate capacitățile software-ului modern pentru crearea de aplicații interactive; introduceți elementele de bază ale programării orientate pe obiecte; Aprofundarea cunoștințelor despre Macromedia Flash.
Obiectivul cursului:
Introducerea tehnologiei de programare orientată pe obiecte; arătați utilizarea Action Script pentru a crea aplicații interactive; creați două proiecte: un calculator Flash și un joc interactiv în galerie de împușcături.
Cerințe de cunoștințe ale elevilor:
Pentru a finaliza cu succes acest curs, studenții trebuie să aibă cunoștințe de bază despre Flash: crearea de imagini simple, lucrul cu simbolurile bibliotecii, să înțeleagă cadrele cheie, animația Flash și acțiunile de bază în Action Script.
Pentru a finaliza cu succes acest curs, studenții trebuie să aibă cunoștințe de bază de programare: să stăpânească concepte precum algoritm, program, variabilă și să cunoască structuri algoritmice de bază.
Cerințe de calculator:
Un computer cu Macromedia Flash MX (sau mai mare) instalat.
Cursul „Programare Flash” este conceput pentru 12 ore.
2. Subiecte de curs:
Subiecte | număr de ore |
|
Repetați Flash. | ||
Câmpuri I/O, structuri algoritmice tipuri de câmp (static, dinamic, de ieșire); declararea variabilelor, variabilelor caractere și numerice, adăugarea codului la un buton, instrucțiunea condiționată, bucla cu un parametru, bucla while, implementarea lor în Flash. sarcini tipice: calcularea costului unui zbor, rezolvarea unei ecuații pătratice, exponențiarea, găsirea unui element dintr-o serie suma unei serii proiect: Calculator Flash | ||
Concepte de bază ale POO obiect, proprietăți, metodă, eveniment | ||
Schimbarea programatică a proprietăților. Animație software. proprietăți modificabile; crearea de simboluri, numele acestora; modificarea proprietăților caracterelor, caracteristicile execuției codului de program în Flash, cicluri cu trei cadre. Sarcini tipice: crearea unui obiect cu proprietăți modificabile (apăsarea tastelor corespunzătoare). crearea unui obiect în mișcare. proiect: Joc interactiv Shooting Range. |
3. Literatură:
Beluntsov V. Macromedia Flash: Animație pe Internet. „DESS Com”, Moscova 2001. Materiale Flash MX 2004 de pe site-ul www. *****Manual didactic pentru profesor și elev
1. Introducere, Paleta de acțiuni
Macromedia Flash are propriul limbaj de programare, Action Script. Vă permite să faceți videoclipuri Flash interactive. Capacitățile limbajului sunt destul de mari, ceea ce vă permite să creați programe serioase. Action Script nu este un limbaj de programare independent. Este un set de scripturi - fragmente de cod care „trăiesc” doar în interiorul unui film Flash, care, totuși, nu interferează cu crearea de programe cu drepturi depline.
Trebuie să rețineți că Action Script este un limbaj bazat pe evenimente, adică scriptul va fi executat atunci când are loc un eveniment. Un astfel de eveniment ar putea fi atunci când se atinge un anumit cadru cheie, de exemplu, la ultimul cadru cheie adăugăm o comandă stop(). În ciuda faptului că aceasta este doar o comandă, acesta este un script cu drepturi depline care va fi executat când se ajunge la ultimul cadru - videoclipul se va opri. Un alt eveniment poate fi un clic de mouse pe un buton de pe ecran sau o apăsare a tastei de la tastatură.
Pentru a adăuga codul programului, trebuie să selectați cadrul cheie în care doriți să adăugați scriptul (sau să selectați butonul creat) și să apăsați tasta F9 (Figura 1).
Orez. 1 Panou de acțiuni.
Să ne uităm la elementele principale ale ferestrei Acțiune. Partea stângă a ferestrei este ocupată de o listă de comenzi pe care le poți selecta făcând dublu clic pe ele cu butonul stâng al mouse-ului. Toate comenzile, și există destul de multe dintre ele, sunt grupate în douăsprezece blocuri „Funcție globală”, „Proprietăți globale”, etc. După ce faceți clic, comanda este transferată în partea dreaptă a ferestrei. Conține codul programului. Puteți șterge comenzile inutile (tasta Ștergere) sau puteți deplasa în sus și în jos în script fie folosind tastele cursorului, fie folosind butoanele. Desigur, comanda de mutat sau șters trebuie mai întâi evidențiată. Partea inferioară a ferestrei este acordată parametrilor modificabili ai fiecărei comenzi specifice. De exemplu, în comanda de tranziție gotoAndPlay() trebuie să indicați la ce cadru să mergeți când ajungeți la această linie. Pentru a face acest lucru, trebuie să introduceți numărul de cadru necesar între paranteze.
Când scrieți codul programului, este mai convenabil și mai rapid să introduceți codul manual. Este important să rețineți că limbajul ActionScript ține seama de majuscule și minuscule în comenzile pe care le introduceți. Aceasta înseamnă că comanda GoToandPlay() va fi incorectă.
Rămâne de adăugat că pentru a rula codul și a vizualiza rezultatul, trebuie să intrați în modul de vizionare video, pentru a face acest lucru, apăsați combinația de taste Ctrl-Enter.
Întrebări de revizuire:
Ce este un scenariu? Ce evenimente declanșează execuția codului în Flash? Cum afișez paleta Acțiune? Din ce elemente constă paleta Action? Cum se creează un fișier care poate fi lansat dintr-un film Flash?
2. Variabile
Unul dintre conceptele de bază ale oricărui limbaj de programare este o variabilă. Se presupune că cititorul este familiarizat cu conceptul de variabilă, așa că haideți să vedem cum este implementat în Flash.
Să presupunem că vrem să adunăm două numere. Pentru a efectua această operație aritmetică simplă, creați un buton în primul cadru cheie: desenați un dreptunghi, faceți o legendă și apoi convertiți imaginea rezultată într-un simbol (inserați meniul - convertiți în simbol, nu uitați să setați comportamentul simbol - buton). Ca urmare, a apărut un obiect care poate răspunde la un clic de mouse, acest lucru poate fi verificat cu ușurință prin intrarea în modul de vizionare video.
Primul număr va fi stocat în variabila x1, iar al doilea în variabila x2. Lăsați rezultatul să fie salvat sub numele summa și afișat pe ecran. Pentru a crea un câmp de ieșire (mai multe despre asta în lecția următoare), faceți clic pe instrumentul de text și utilizați-l pentru a selecta o zonă a ecranului - câmpul de text viitor. Apoi accesați panoul plutitor Symbol (fereastra de meniu - panouri - simbol) și în fila Opțiuni text schimbați tipul câmpului text Stutic Text în Dimamic Text (Figura 2). Asigurați-vă că numiți acest câmp Variabilă – suma. De asemenea, pentru a face câmpul vizibil pe ecran, bifați caseta de selectare cadru/fond.
Orez. 2 Creați un câmp dinamic pentru a afișa valori.
Acum să comparăm codul cu butonul pe care l-am creat. Selectați butonul și apăsați F9.
În partea stângă a ferestrei, selectați blocul Operațiuni – Setare variabilă. În partea de jos a ferestrei setăm parametrii: variabilă – x1, valoarea 5. Vă rugăm să rețineți că lângă câmpul de valoare există o expresie de comutare a parametrului. Trebuie selectat, altfel variabila x1 va stoca numărul 5 și simbolul. Acesta este modul în care este setat tipul unei variabile. După cum înțelegeți, în AS există doar două tipuri de variabile, numerice și șir, descrieți tipurile în avans, așa cum este obișnuit în limbajul Turbo Pascal. Efectuați acțiuni similare pentru a doua variabilă, respectiv, numele acesteia este x2, iar valoarea este 8. Trebuie doar să adăugăm a treia linie - setați a treia variabilă, numele ei: summa (la fel ca și numele câmpului de ieșire) , valoare: x1 + x2, desigur, expresia elementului selectat.
Ca urmare a acestor operațiuni, în partea dreaptă aveți codul prezentat în figură (Figura 3). Vă rugăm să rețineți că fiecare comandă este separată de un punct și virgulă. Mai întâi există comanda on (release), aceasta indică faptul că acest cod va începe să fie executat atunci când tasta mouse-ului este eliberată de pe buton. Deoarece acest cod este asociat cu un buton de pe ecran, această comandă este adăugată automat. După aceea, între acolade vine codul care ar trebui să fie executat atunci când are loc evenimentul.
Asta e tot! Dacă ați făcut totul corect, atunci accesând modul de vizionare video și făcând clic pe butonul dvs., în câmpul de ieșire apare numărul 13.
Întrebări de revizuire:
Cum să setați un nume de variabilă pentru a afișa informații text sau numerice? Ce tipuri de variabile sunt folosite în Flash? Cum să arăți că variabila creată este numerică? Cum se creează un buton în Flash și se adaugă cod pentru el? Ce înseamnă comanda on (release) de la începutul scriptului?
3. Câmpuri I/O
Învățarea unui nou limbaj de programare începe cu scrierea programelor în care sunt introduse valori inițiale, apoi se produc unele transformări aritmetice cu acestea și rezultatul este afișat pe ecran. Flash folosește câmpuri de text pentru a afișa text pe ecran. Pentru a crea un câmp de text, trebuie să selectați instrumentul Text (pe bara de instrumente) și plasând cursuri în locul în care doriți să adăugați text, „desenați” un bloc de text (Figura 4).
Orez. 4 Creați un câmp de text.
Ca rezultat, aveți un câmp de text static în care puteți introduce orice text. Există trei tipuri de câmpuri de text: câmpuri statice, dinamice și de ieșire. Tipul câmpului este setat folosind fila „parametri”, panoul de simboluri (vezi capitolul anterior). Să ne uităm la scopul și setările fiecărui câmp mai detaliat:
Un câmp static este folosit pentru a afișa etichete pe o scenă Flash. După cum sugerează și numele, acest câmp nu poate fi modificat programatic. Tot ceea ce vă este la dispoziție este să setați fontul, dimensiunea, culoarea etc. La tastare, acest câmp se va extinde automat, afișând textul introdus pe mai multe rânduri. În acest caz, lățimea câmpului de text va rămâne cea pe care o setați atunci când „desenați” blocul de text. Pentru a-l schimba, trebuie să selectați blocul cu instrumentul Text și să mutați marcatorul din dreapta sus al blocului de text.
Figura 5
Un câmp dinamic este folosit pentru a crea câmpuri de ieșire în care informațiile pot fi actualizate pe măsură ce videoclipul progresează. Pentru a accesa un bloc de text în mod programatic, acesta trebuie să aibă un nume, care este specificat în câmpul „variabilă” (Figura 5). Vă sfătuiesc să folosiți doar caractere latine ca nume de variabile, fără spații. În aceeași fereastră, puteți activa proprietatea Border/Background. Acum va apărea un cadru pe foaia în care va apărea textul afișat, acest lucru este foarte convenabil. Caseta combinată, cu o singură linie selectată în mod implicit, vă permite să specificați dacă textul va fi afișat într-un rând sau în mai multe (valoarea MultiLine). Comutatorul „selectabil”, activat implicit, determină dacă utilizatorul poate selecta valori dintr-un anumit câmp, de exemplu, pentru a le copia în clipboard. La fel ca pentru orice câmp, puteți seta parametri de text: font, dimensiune, culoare etc. Dacă introduceți orice text în acest câmp, acesta va fi afișat până când programul își va schimba valoarea.
Un câmp de introducere sau un text de intrare este folosit pentru a introduce valori de la tastatură. Fereastra parametrilor câmpului de intrare arată similar cu fereastra discutată mai sus. Parametrul principal aici este și câmpul „variabil”. Specificați sub ce nume vor fi înregistrate datele introduse de utilizator.
Figura 6
Înțelegând scopul câmpurilor de text, puteți realiza următorul proiect. „Costul unui bilet de avion pentru adulți, precum și numărul de adulți și copii care călătoresc pe zbor sunt introduse în computer. Când faceți clic pe butonul corespunzător, computerul calculează costul biletului unui copil (50% din costul unui adult) și costul total al zborului.” Vedeți aspectul programului (Figura 6). După cum puteți vedea cu ușurință în această sarcină, valorile sunt introduse și rezultatele sunt afișate, tot codul trebuie executat atunci când este apăsat un buton și, prin urmare, trebuie să fie asociat cu acest buton.
Pentru a începe, creați cinci câmpuri de text statice și completați-le cu textul corespunzător.
Creați trei câmpuri de introducere, dați variabilelor pentru fiecare câmp nume unice, de exemplu: stv (prețul biletului pentru adulți), kolv (numărul de adulți) și kold (numărul de copii).
Creați două câmpuri dinamice, dați variabilelor pentru fiecare câmp nume unice, de exemplu: std (prețul biletului pentru copii) și itog (cantitatea totală a zborului).
Faceți două butoane „Calcul costului zborului” și „Ștergeți câmpurile”
Pentru primul buton, adăugați următorul cod (buton, tasta dreapta - operații):
dacă (stv==null) (
dacă (kolv==null) (
dacă (kold==null) (
itog = stv * kolv + std * kold;
Penultima linie calculează costul unui bilet pentru copii (jumătate din costul unui adult) și scrie această valoare în variabila std (numele câmpului de ieșire corespunzător). Ultima linie calculează suma totală (variabila itog) și introduce valoarea acesteia în câmpul de ieșire corespunzător.
În principiu, a fost posibil să se descurce cu aceste două linii de cod. Dar din moment ce persoana care va lucra cu acest program nu va introduce neapărat numărul zero dacă copiii nu sunt implicați în zbor. Aceasta înseamnă că costul biletului unui copil (valoare numerică) va fi înmulțit cu o valoare goală (valoare șir). Rezultatul acestei „înmulțiri” va fi un mesaj de eroare în câmpul de ieșire corespunzător. Pentru a preveni acest lucru, computerul verifică dacă câmpul de intrare este gol (kold==null) și, dacă da, atribuie valoarea egală cu zero variabilei kold. Această construcție se numește operator condiționat. Mai multe despre asta în subiectul următor. Dacă încă îți este greu să lucrezi cu condiții, le poți omite, dar nu uita, nu ar trebui să existe câmpuri goale!
Pentru a finaliza proiectul, vom adăuga codul corespunzător pentru butonul „Șterge câmpurile”:
După cum puteți vedea, când faceți clic pe acest buton, fiecărei variabile și, prin urmare, câmpului I/O, i se va atribui o valoare goală (nu există nimic între cele două ghilimele).
Întrebări de revizuire:
Ce tipuri de casete de text sunt folosite în Flash? Ce parametri modificabili are un câmp de text dinamic? Ce tip de câmp este folosit pentru a introduce valori de la tastatură? Explicați semnificația următoarei linii de cod: itog = stv * kolv + std * kold;? De ce este descris operatorul condiționat utilizat în proiect?
4. Operator condiționat
Codul programului la care ne-am uitat înainte este liniar. Fiecare comandă este executată numai după ce acțiunea anterioară a fost finalizată. În viață totul este puțin mai complicat. Deschidem o umbrelă dacă plouă, ne bucurăm dacă ne atingem scopul și calculăm rădăcinile unei ecuații pătratice dacă discriminantul este mai mare decât zero. În toate cazurile de mai sus, acționăm într-un fel sau altul. Pentru a implementa astfel de situații, toate limbajele de programare oferă un operator de ramură sau un operator condiționat. Action Script nu face excepție.
Figura 7
Operatorul condiționat este apelat făcând clic pe comanda Operations - If (Figura 7). Următoarea structură apare în partea dreaptă a ferestrei:
dacă (<Не установлено>) {
În loc de<не установлено>trebuie să scrieți o operație de comparare, o introduceți în câmpul „Condiție”. Un exemplu de astfel de condiție ar putea fi z<10, (переменная z меньше десяти).
Să ne uităm la operațiunile de bază de comparare:
> mai putin;
< больше;
>= mai mare sau egal cu;
<= меньше либо равно;
Egal (observați cele două semne egale);
Nu este egal (rețineți că semnul exclamării înseamnă negația operatorului de comparație care îl urmează).
Adesea, mai multe condiții trebuie îndeplinite simultan. Pentru aceasta, se folosesc operații booleene (logice):
&& sau și – ȘI logic;
|| sau sau – SAU logic;
Sau nu – logic NU.
De exemplu, condiția (a == 10) && (z > 5) va fi adevărată numai atunci când variabila a este egală cu zece și, în același timp, variabila z este mai mare de cinci.
O condiție este o întrebare la care pot exista doar două răspunsuri, „da” și „nu”. Dacă condiția este adevărată, atunci se efectuează acțiunile cuprinse între acolade.
Dacă trebuie să adăugăm un grup de comenzi care ar trebui să fie executate atunci când condiția este falsă, trebuie să adăugați Operations - Else. Apoi fragmentul de cod va arăta astfel:
dacă (<Не установлено>){
Pentru a adăuga comenzi, trebuie să poziționați cursorul peste linia în care ar trebui să apară comanda. Tot ce rămâne este să selectați comanda dorită în blocul corespunzător și să faceți clic pe ea cu mouse-ul.
Figura 8
Să luăm în considerare modul în care principiile enunțate sunt implementate pentru a rezolva problema clasică de găsire a rădăcinilor unei ecuații pătratice. „În computer se introduc trei numere - parametrii ecuației pătratice ax2 + bx + c = 0. Pe baza datelor introduse, computerul determină câte rădăcini are această ecuație, le calculează și afișează rezultatele pe ecran. Este prezentată o vedere aproximativă a ferestrei programului (Figura 8).
Pentru a finaliza acest proiect:
Creați trei câmpuri de intrare în primul cadru de pe scena principală și dați-le nume adecvate: a, b, c. Faceți-le vizibile granițele.
Creați câteva câmpuri de text statice pentru a eticheta câmpurile I/O: x2, =0, discriminant etc.
Creați patru câmpuri de text dinamice: d – discriminant, r – soluție, x1 – valoarea primei rădăcini, x2 – valoarea celei de-a doua rădăcini.
Creați două butoane „rezolvați ecuația” și „ștergeți”.
Pentru primul buton „rezolvare ecuație”, adăugați următorul cod de program, text marcat cu un apostrof - un comentariu, nu este necesar să-l inserați:
dacă (a == nul) (
dacă (b == nul) (
dacă (c == nul) (
‘ primele trei instrucțiuni condiționale verifică dacă câmpurile a, b, c sunt goale,
Dacă da, le atribuie valori numerice egale cu zero
‘ se calculează discriminantul (variabila d).
r = „fără rădăcini”;
‘ dacă condiția este îndeplinită, discriminantul este mai mic decât variabila d
‘ ia valoarea textului corespunzătoare
) altfel dacă (d == 0) (
r = „o rădăcină”;
x1 = (-b)/(2*a);
x2 = (-b)/(2*a);
‘ este folosită comanda Operations – Else If. Mulțumită lui, următoarele
acțiunea începe cu verificarea stării. Dacă este adevărat – discriminant
‘ este egal cu zero, se fac calcule similare, variabile legate
‘ cu câmpuri de text iau valorile corespunzătoare
r = „două boabe” + Chr(255);
„cea mai misterioasă linie. Este necesar ca inscripția „două rădăcini” să fie afișată,
Dar am avut ghinion cu litera rusă ya. Flash acceptă codul care
‘ corespunde acestei litere ca o întrerupere de linie.
' În acest scop, valoarea caracterului 255 este adăugată șirului de text. Acest
‘ acțiune – conectarea a două șiruri de text se numește concatenare.
kd = Math. sqrt(d);
x1 = (-b+kd)/(2*a);
x2 = (-b-kd)/(2*a);
‘ Comanda Math a fost folosită pentru a calcula rădăcina pătrată. sqrt(d);
‘ pentru a o numi folosiți comanda Objects – Mathematics – Sqrt
Tot ce trebuie să facem este să adăugăm următorul cod pentru al doilea buton:
Mi se pare că comentariile nu sunt necesare aici. Proiectul este gata. Salvează-l, testează-l.
Întrebări de revizuire:
Ce construct definește o instrucțiune condiționată în Flash? Care este diferența dintre construcții: dacă (<Не установлено>)() else() și dacă (<Не установлено>))? Cum setați negația în Flash? Ce sunt operațiunile booleene și cum sunt scrise în Flash? Care este diferența dintre liniile: a=10 și a==10?
5. Bucle „cu un parametru” și bucle „while”
Pentru a efectua acțiuni repetitive, limbajele de programare folosesc constructe speciale numite operatori de buclă. Există mai multe astfel de construcții ciclice, vom lua în considerare cele două cele mai comune: bucla „cu parametru” și bucla „while”. Să vedem cum sunt implementate în limbajul Action Script.
O buclă „cu un parametru” este utilizată atunci când se știe dinainte de câte ori trebuie efectuată o anumită acțiune. Puteți desena următoarea analogie - pentru a pregăti supa, trebuie să curățați șase cartofi. Dacă notați acțiunile sub forma unui algoritm liniar, veți observa că comenzile „luați cartofii”, „curățați coaja”, „spălați” se vor repeta de șase ori. Pentru a face algoritmul mai compact și, de asemenea, pentru a putea fi schimbat cu ușurință în viitor, este mai logic să scrieți acest lucru sub forma unei bucle:
Repetați (de 6 ori) (
„ia cartofii”;
„coaja pielea”;
"a spala";
Aici numărul șase este parametrul ciclului, numărul de repetări. Ceea ce este între acolade sunt comenzi repetabile. Vor fi executați de exact șase ori.
Figura 9
Pentru a crea o buclă „cu un parametru” în Flash, trebuie să selectați comanda Operations – For din fereastra Frame Actions. Ca rezultat, un design de buclă va apărea în partea dreaptă a ecranului (Figura 9).
Figura 10
Pentru acest design, trebuie să configurați trei câmpuri. Inițială – aici trebuie să scrieți valoarea inițială a unei variabile, se mai numește și contor. De exemplu, i=1. Condiția este cât timp voi schimba variabila. De exemplu, i<=10. Следующий – с каким шагом изменяется переменная i. Если вы хотите, чтобы переменная каждый раз увеличивалась на единицу, то можно записать i++. В результате появляется конструкция:
pentru (i=1; i<=10; i++) {
Semnificația sa este următoarea: variabila i va lua valori de la unu la zece, iar comenzile cuprinse între acolade vor fi executate de zece ori. Variabila i însăși poate fi folosită în corpul buclei, iar alte constructe algoritmice, instrucțiuni condiționale etc. pot fi, de asemenea, folosite acolo.
Să vedem cum este implementat acest design în următoarea problemă. „Creează un program care calculează a la puterea lui n (n este o valoare întreagă). Valorile lui a și n sunt introduse în câmpurile corespunzătoare. Aspectul programului este prezentat în Figura 10.
Creați un câmp dinamic și numiți-l un.
dacă (n<>0) {
‘ Problema are sens doar dacă n > 0, acest lucru este verificat de declarația condiționată
pentru (i=2; i<=n; i++) {
Deoarece în prima linie variabila an a luat deja valoarea egală cu a, deci valoarea inițială a contorului este două.
Pentru butonul „șterge”, adăugați următorul cod:
Comentariile mi se par inutile.
Ciclul „while” este utilizat atunci când numărul de repetări nu este cunoscut în prealabil. Să continuăm analogia - atunci când oamenii sapa cartofi, ei efectuează și acțiuni repetate: „sapă un tufiș”, „strânge cartofi”, „pune-i într-o pungă”. Chestia este că nimeni nu știe de câte ori trebuie efectuate aceste acțiuni. Prin urmare, acest ciclu poate fi scris după cum urmează:
În timp ce (există cartofi?)
De fiecare dată, după executarea setului de comenzi specificat, este necesar să se verifice dacă condiția este îndeplinită, atunci corpul buclei este executat din nou;
Figura 11
Pentru a crea o buclă „while” în Flash, trebuie să selectați comanda Operations – While din fereastra de acțiuni cadru. Ca rezultat, un design de buclă va apărea în partea dreaptă a ecranului (Figura 11).
Pentru acest design, trebuie configurat un singur câmp. Condiție – în ce condiție este executată bucla. De exemplu, y<10.
Vă rugăm să rețineți că dacă condiția nu este îndeplinită la prima apelare a buclei, atunci bucla nu este executată niciodată. De asemenea, este foarte important ca variabila y să se modifice în timpul execuției buclei, în caz contrar programul se va bucla și va bloca. De asemenea, aș dori să vă atrag atenția asupra particularității executării codului programului în Flash. Dacă parcurgeți o proprietate a unui obiect sau o valoare a câmpului dinamic, nu veți vedea că proprietatea sau valoarea respectivă se schimbă rapid atunci când o rulați. Flash va executa mai întâi complet întregul script și numai după sfârșitul ciclului va redesena ecranul și va schimba această proprietate sau valoare. Înțelegerea acestei caracteristici va fi deosebit de importantă pentru noi în a noua lecție atunci când studiem animația programului.
Figura 12
Orice algoritm care poate fi scris folosind o buclă „cu un parametru” poate fi scris și folosind o buclă „while”. Dar contrariul nu este adevărat. Există probleme care nu pot fi rezolvate prin alte metode folosind construcția „În timp ce”. Să luăm în considerare această problemă. „Se știe că seria numerelor 1, 1/2, 1/3 ... 1/n este divergentă, ceea ce înseamnă că suma acestor numere poate depăși orice număr predeterminat A. Găsiți un n astfel încât suma numerelor seria este 1 + 1/2 + 1 /3 + … + 1/n va deveni mai mare decât numărul dat A. Aspectul programului este prezentat în Figura 12.”
Creați un câmp de introducere a datelor și denumiți-l a.
Creați două câmpuri dinamice și denumiți-le n și respectiv s.
Creați numărul necesar de semnături statice „a=”, „n=”, etc.
Creați două butoane „calculați” și „ștergeți”.
Pentru butonul „calculați”, adăugați următorul cod: