Kozi ya kielektroniki ya macromedia flash mx iii: misingi ya utayarishaji katika makromedia flash mx moduli i: lugha ya maandishi ya utekelezaji ya programu inayolengwa na kitu. Kupanga katika Macromedia Flash

Nakala ya mwisho ilijitolea kwa uhuishaji. Tumeunda uhuishaji kulingana na uwekaji kati wa mwendo, upatanishaji wa umbo, na kuunda tu harakati kutoka kwa fremu mahususi. Nadhani ni wakati wa kuendelea na mada ya juu zaidi, tukiangalia zana inayounda msingi wa filamu bora zaidi za Flash.

Zana hii ni ActionScript, lugha inayoendeshwa na tukio iliyojengwa katika Flash. Toleo la hivi punde la ActionScript (ambalo lipo katika Flash 5) ni tofauti sana na ActionScript iliyokuwa katika Flash 4. Ikiwa ndani toleo la awali, ilikuwa seti ndogo ya amri, ikiruhusu vitendo vya msingi tu, na iliingia kwa kutumia kiolesura kisicho rahisi sana, basi ActionScript mpya ni lugha yenye nguvu, na seti iliyoongezeka ya amri, msaada kwa madarasa, urithi (!), na a. interface rahisi zaidi.

ActionScript hufanya kurasa zako zishirikiane. Unaweza kuguswa na matukio kutoka kwa kipanya au kibodi, na unaweza kufanya vitendo vyovyote unapocheza fremu fulani.

Ili kufahamu kikamilifu ActionScript, inashauriwa kuwa tayari kuwa na uzoefu wa programu (ikiwezekana katika C++, JavaScript, n.k.). Hata hivyo, moja ya faida za Lugha ya Flash ni kwamba huhitaji kuwa mtaalamu wa Flash, au kufahamu kikamilifu ActionScript, ili kuandika msimbo wa ubora ndani yake. Unaweza kutumia vipengele vya lugha ambavyo unaona vinafaa kwa kazi yako.

Kwa kuwa nakala hii inahusu misingi ya lugha, ndani yake tutashughulikia:

  • Paneli ya Vitendo ndipo karibu mawasiliano yote na ActionScript hutokea.
  • Vifungo - jinsi ya kuzifanya zifanye kazi kama tunavyohitaji.
  • Njia - jinsi ya kufikia vitu muhimu?
  • Vitendo vya kimsingi na katuni za Flash (klipu za filamu) - tutadhibiti mchakato wa kucheza filamu tupendavyo.
  • Utatuzi katika ActionScript - Madirisha ya Pato na Kitatuzi.

Madhumuni ya makala haya ni kukupa hisia kwa ActionScript, ili kuonyesha kwamba lugha hii inaweza kutumika kwa kuunda programu za kuvutia sana na kwa kufanya vitendo vya kimsingi ambavyo vitafanya ukurasa wako kuvutia zaidi.

Masharti

Kabla hatujaingia katika vitendo maalum, maneno machache ya ActionScript:

  • Vitendo- haya ni maagizo ambayo yanaambia katuni ya Flash nini cha kufanya. Kutoka kwao huja jina la lugha - ActionScript (literally - action script). Wacha tukubaliane kwamba ndani ya mfumo wa kifungu hiki, tutatumia neno "maagizo" ili tusichanganywe na vitendo halisi tutakavyofanya.
  • Matukio- hivi ndivyo vitendo vinavyotokea wakati katuni inachezwa. Matukio, kwa mfano, yanaweza kutokea wakati upakiaji wa sura fulani unaisha, tunapofikia sura fulani, wakati mtumiaji anabonyeza kitufe kwenye kibodi au mshale wa panya uko juu ya kitu chetu.
  • Maneno ni sehemu yoyote ya maagizo ambayo hutoa thamani. Mifano ifuatayo ni misemo: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * nasibu(10).
  • Kazi ni kizuizi cha msimbo ambacho kinaweza kutumika tena. Unaweza kupitisha maadili kwa chaguo za kukokotoa na kupokea matokeo ya kurudi kutoka kwayo. Kwa mfano, nambari = get_color(15, 24). 15 na 24 ni hoja (au vigezo) kwa kazi ya get_color, thamani ya kurudi ambayo imeandikwa kwa kutofautiana kwa nambari.
  • Madarasa ni aina ya vitu. Kwa mfano, darasa la miti ni mmea. Flash ina idadi ya madarasa yaliyofafanuliwa awali (kama vile madarasa ya JavaScript). Unaweza kuunda madarasa yako mwenyewe au kurekebisha zilizopo.
  • Mifano ni mifano halisi ya madarasa fulani. Kwa mfano, mfano wa mmea unaweza kuwa mti, kichaka, au ua. Mfano tayari ni kitu mahususi halisi. Ikiwa darasa ni ufafanuzi wa kitu (mfano), basi mfano tayari ni mfano halisi, ni darasa katika hatua. Kila mfano unaweza kupewa jina ili kazi au vigeu vya kipengee viweze kupatikana kupitia hiyo.
  • Washughulikiaji ni maagizo maalum ambayo hushughulikia matukio. Kwa mfano kwenyeClipEvent- mshughulikiaji wa vitendo vinavyohusishwa na ishara maalum (tazama).
  • Waendeshaji ni vipengele vya lugha vinavyokokotoa thamani kulingana na hoja moja au zaidi. Kwa mfano, opereta wa kuongeza (+) hurejesha jumla ya maadili mawili kushoto na kulia kwake.
  • Vigezo ni vitambulisho vinavyoweza kuhifadhi maadili. Kwa mfano, a = 5; au jina = "Michael".

Haya ndiyo maneno tutakayotumia tunapojadili ActionScript. Hivyo…

Jopo la Vitendo

Upau wa kitendo hutumiwa kuonyesha na kuingiza programu za ActionScript (Mchoro 1). Kuna njia mbili za uendeshaji na jopo - kawaida (kwa dummies) na mtaalam. Katika hali ya mtaalam, orodha ya amri ni uwanja rahisi wa kuingiza maandishi. Katika hali ya kawaida, hatuwezi kuhariri amri moja kwa moja. Ili kufanya hivyo, tumia jopo la chaguzi.

Unaweza kuongeza maagizo kwa kubofya kitufe cha "+" (ona Mchoro 1) au kwa kuchagua maagizo yanayofaa katika orodha ya vipengele vya lugha. Kwa kuongeza, kwa vitendo vyote katika Flash kuna mlolongo muhimu ambao unaweza kutumika kufanya hivi kwa kasi zaidi. Zinaonyeshwa upande wa kulia wa kila kitendo kwenye menyu ya kitufe cha "+". Kwa mfano, kuongeza kitendakazi kuacha (), unahitaji kushinikiza Esc+st (mfululizo: Esc, kisha "s", kisha "t").

Unaweza kufuta maagizo kwa kuichagua na kubonyeza kitufe cha "-" (au kitufe cha Futa tu).

Ninapendekeza usianze mara moja kutumia hali ya mtaalam ikiwa huna programu ya uzoefu katika lugha zinazofanana na Java (C++, Java, JavaScript). Njia ya kawaida ina faida kubwa ambayo inafanya iwe muhimu kwa Kompyuta - kuna nafasi ndogo sana ya kufanya makosa na syntax ya lugha. Hii itasaidia wanaoanza kuelewa kwa haraka ugumu wa ActionScript.


Mchele. 1 - Upau wa hatua

Paneli ya kitendo huonyesha vitendo vya kitu au fremu iliyochaguliwa kwa sasa.

Vifungo

Jambo la kwanza unalotaka kufanya unapoanza kujifunza mwingiliano wa Flash ni kutengeneza kitu kinachojibu vitendo vya mtumiaji, "fufua" uumbaji wako, ongeza maoni. Njia rahisi zaidi ya kufanya hivyo ni kwa vifungo. Kwa hiyo, tutaanza nao.

Kama unavyojua, katika Flash kuna aina maalum ya ishara ya kuunda vifungo - Kitufe (tazama). Hebu tufikiri kwamba tayari umejifunza jinsi ya kuunda vifungo, sasa hebu tujifunze jinsi ya kufuatilia kubofya kwenye vifungo hivi.

Vifungo ndani Macromedia Flash kuwa na orodha pana ya matukio ambayo tunaweza kujibu:

  • vyombo vya habari- kifungo cha panya kinasisitizwa wakati mshale uko ndani ya kifungo;
  • kutolewa- kifungo cha panya kinatolewa wakati mshale uko ndani ya kifungo;
  • kutolewaNje- kifungo cha panya kinatolewa wakati mshale uko nje ya kifungo;
  • rollover- mshale wa panya huingia kwenye kifungo;
  • kusambaza- mshale huenda zaidi ya kifungo;
  • DragOver- mshale huingia kwenye mipaka ya kifungo, wakati kifungo kilipigwa na ufunguo wa panya ulipigwa;
  • DragOut- mshale huenda zaidi ya kifungo, wakati kifungo kilipigwa na ufunguo wa panya ulipigwa;
  • Bonyeza kitufe("ufunguo") - "ufunguo" ulisisitizwa. Unaweza kuona orodha ya vitufe katika usaidizi wa Flash (Kitu muhimu), au tumia upau wa chaguo ili kuingiza ufunguo unaotaka.

Kwa bahati mbaya, Flash pekee "inaelewa" kitufe cha kushoto cha kipanya. Ya kulia hutumiwa kuita menyu ya muktadha (bofya kulia kwenye katuni fulani ya Flash). Bado sijapata njia zozote za kupata kitufe cha kati au gurudumu la kipanya kwenye Flash; sidhani kama zipo.

Matukio haya yamezuiliwa kwa kutumia maagizo juu ya(). Syntax yake ni:

Kwenye (tukio) (... // Matendo yetu)

Hapa chini unaweza kujaribu kuanzisha baadhi ya matukio wewe mwenyewe:

Mfano unaotumika sana ni kufuata kiungo wakati kitufe kinapobofya:

Imewashwa (kutolewa) ( getURL("http://rubs.boom.ru"); )

Ili kujaribu hali hii, onyesha kitufe chako, bonyeza Ctrl+Alt+A na uweke programu.

Hivi ndivyo unavyoweza kukatiza kwa urahisi matukio yote yanayohusiana na kitufe. Naam, jinsi ya kuzitumia ni suala la mawazo yako.

Hatua za msingi na Klipu za Filamu

Kiasi kikubwa cha ubunifu katika Flash hutokana na upotoshaji wa alama. Karibu mbinu zote za msingi, hila zote na athari haziwezekani bila vitendo hivi.

Ukiwa na ActionScript, unaweza kufanya karibu chochote unachotaka na wahusika. Unahitaji tu kukumbuka kuwa vitendo hivi vinaweza kufanywa tu kwa kujibu kitendo cha mtumiaji, au wakati sura fulani inatokea kwenye ratiba.

Kwa hiyo tuna nini? Nitaorodhesha zana kuu tu (kwa maoni yangu). Wengine utapata katika orodha ya vipengele vya lugha au katika usaidizi.

Vitendaji vya klipu ya filamu vinaweza kuitwa:

  • cheza () - huanza au kuanza tena uchezaji wa klipu;
  • kuacha () - huacha uchezaji wa klipu;
  • gotoAndPlay() - huenda kwenye sura fulani (eneo) na kuendelea kucheza;
  • gotoAndStop() - huenda kwa sura maalum (eneo) na kuacha kucheza.

Sifa (vigezo) vya klipu zinazoweza kusomwa/kubadilishwa:

  • _x, _y - kuratibu za klipu (katika saizi);
  • _xscale, _yscale - kiwango cha klipu (kwa asilimia), kwa usawa na kwa wima, kwa mtiririko huo;
  • _upana urefu - upana na urefu wa klipu (katika saizi);
  • _mzunguko - angle ya mzunguko wa kipande cha picha (katika digrii);
  • _alfa - uwazi wa klipu (kwa asilimia);
  • _inayoonekana - kujulikana.

Hii sio yote ambayo yanaweza kufanywa na klipu. Tumia vigezo vingine, jaribu, pata ubunifu!

Majina

Ili kufikia klipu, tunahitaji kuelewa dhana ya jina la kitu (jina la mfano) na njia ya kitu (njia inayolengwa). Hebu tukubaliane kwamba klipu ya filamu na kitu ni vitu sawa kwetu.

Jina la kitu ni jina la mfano maalum wa ishara. Wacha tuseme tunaweza kuwa na ishara - gari, na mifano ya ishara hii itaitwa "Machine1", "Machine2", "Pickup", "Zaporozhets"...

Ili kutoa jina kwa kitu, unahitaji kuchagua kitu, na katika paneli ya Mfano (Dirisha-> Paneli-> Mfano, Ctrl+I) kwenye safu ya Jina, ingiza jina la kitu (Mchoro 2). ) Majina yanaweza tu kujumuisha herufi, nambari, na herufi ya chini ("_"), na jina haliwezi kuanza na nambari.


Mchele. 2 - Paneli ya mfano

Njia

Njia ya kitu ni rekodi ya jina la kitu, kwa kuzingatia uongozi. Nitajaribu kuelezea ni nini.

Unajua kuwa katika Flash, vitu vinaweza kuwekwa ndani ya kila kimoja, na hivyo kuunda safu. Kwa hivyo, kiota hiki sio tu hutoa urahisi katika kushughulikia vitu, pia hupunguza mwonekano wa majina ya vitu. Mwonekano ni mdogo kwa kiwango chake. Kitu kinaweza moja kwa moja (kwa jina) kufikia tu vitu vilivyo ndani yake ambavyo ni ngazi moja chini ya uongozi.

Ili kufikia kitu katika ngazi nyingine, unahitaji kujua njia yake. Kwa kuongezea, njia inaweza kutajwa kama kabisa (kutoka kwa sana ngazi ya juu uongozi) na kiasi (kutoka kiwango cha sasa).

Njia inajumuisha vitu ambavyo tunahitaji "kupita" kando ya mti wa uongozi ili kufikia kitu tunachohitaji, kilichoorodheshwa kupitia nukta. Kwa kuongeza, kuna viashiria kadhaa (tunaweza kuviita "vitu halisi") ambavyo mara nyingi ni muhimu sana:

hii - pointer kwa "yenyewe" (yaani, kwa kitu cha sasa). Inaweza kuhitajika, kwa mfano, wakati unahitaji kupitisha pointer kwa kitu ambacho kazi hii inaitwa kazi.

_mzazi - pointer kwa "mzazi". Inaashiria kitu ngazi ya kusimama juu katika uongozi.

_mzizi - "mizizi". Huu ni mwanzo wa uongozi. Huwezi kufanya bila hiyo wakati wa kubainisha njia kabisa.

Njia inaonekana kama hii:

jani.cheza();- kwenye mada jani(leaf) kitendakazi kinachoitwa kucheza ();

_mzazi.mti.leaf.stop();- inadhaniwa kuwa kuna kitu katika ngazi moja mti, ambayo ina kitu jani, ambayo kazi inaitwa kuacha ();

_root.banner._visible = uongo;- tengeneza klipu bendera, iko kwenye ngazi ya 1, isiyoonekana.



Mchele. 3 - Hierarkia ya klipu

Kwa mfano, hebu tuchukue uongozi wa vitu 5 (Mchoro 3). Vitu 1-4 viko kwenye safu ya 1, kitu cha 5 kiko kwenye safu ya 2. Kitu cha 2 kimewekwa kwenye kitu cha 1, na kitu cha 3 kimewekwa kwenye kitu cha 2. Vitu vilivyo kwenye picha vimewekwa ndani ya kila mmoja, lakini hii haimaanishi kuwa hii inapaswa kuwa "katika maisha halisi". Hapa wamepangwa kwa uwazi. Kwa kuwa jina la kitu haliwezi kuanza na nambari, basi vitu vyetu viitwe obj1-obj5.

Sasa hebu tushughulike na njia. Kwanza, hebu tuangalie ni vitu gani vinaweza kurejelea kila mmoja kwa jina. obj1 wanaweza kuwasiliana obj2, A obj2- Kwa obj3, lakini wakati huo huo obj1 haiwezi kuwasiliana obj3 moja kwa moja, kwa sababu haimo ndani obj1, na katika obj2.

Wacha tuseme kitu cha kwanza kinahitaji kitu 3 ili kuanza kucheza tena kutoka kwa fremu ya 1. Hivi ndivyo inavyofanywa:

Obj2.obj3.gotoAndPlay(1);

Ili kitu cha 4 kifanye kitu cha 1 (kumbuka na mada zote!) kiwe wazi, kinahitaji kuandika yafuatayo kwenye hati yake:

Mzazi.obj1._alpha = 50;

Root.obj1._alpha = 50;

Kwa sababu obj4 iko katika ngazi ya kwanza ya uongozi, kisha kwa hiyo _mzizi Na _mzazi- sawa.

Sasa kwa kitu cha 3 tutaandika hati ambayo itafanya kitu 5 kisionekane wakati kitufe cha panya kinasisitizwa. Katika hati ya kitu 3 tunaandika:

OnClipEvent (mouseDown) ( _root.obj5._visible = uongo; )

Katika snippet hii tulitumia njia kabisa. Ikiwa tungetumia jamaa ingeonekana kama:

Mzazi._parent._parent.obj5._visible = uongo;

Natumai nilisuluhisha suala la njia.

Mifano hapo juu ilionyesha sio tu jinsi njia zinavyoonekana, lakini pia jinsi kazi zinavyoitwa na maadili ya mali hupewa.

Mpango wa moduli ya Express:
  • Mbinu ya kupanga
  • Upangaji wa kitu
  • Nyenzo na vitu vya kawaida. Vitu vya habari
  • Istilahi ya ActionScript
  • Paleti ya vitendo. Njia za uendeshaji
  • Warsha. Kuchanganua hati

Mbinu ya kupanga

Kupanga programu kunahitaji mchimbaji wa kitaalam kuwa na kumbukumbu ya kushangaza (kuweka alama zote za algoriti kichwani mwake) na usahihi wa kushangaza (ili kuepusha kosa kidogo wakati wa kuweka usimbaji, ambayo inaweza kuwa na udhuru maisha ya kawaida) Kwa maneno mengine, programu lazima iwe kidogo ya kompyuta mwenyewe.

Programu ilichukua nafasi kama hizo mwanzoni mwa maendeleo ya sayansi ya habari ya kompyuta, mwanzoni mwa programu iliyoundwa. Mpangaji programu alitazamwa kama shaman. Kuwa mpangaji programu ilikuwa ngumu kama kuwa mwanaanga, na karibu kama heshima.

Ni wazi kwamba hali hii haiendani kabisa na maendeleo ya haraka ya teknolojia ya kompyuta, ambayo inahitaji haraka kujazwa kwa wafanyikazi wa programu na umati mkubwa wa watu.
Siku hizi, sio tu wale wanaojua kompyuta na lugha ya programu wanaitwa waandaaji wa programu. Mpangaji programu ni mtu anayeweza kurasimisha na kubuni algoriti ya haraka na yenye kutegemeka (hata hivyo, jukumu kama hilo limekabidhiwa kila wakati kwa mtayarishaji programu; hata E. Dijkstra wa kawaida alisema kuwa lugha muhimu zaidi ambayo mpanga programu anapaswa kujua ni asili yake lugha, ambayo anazungumza katika maisha ya kila siku).

Upangaji wa kitu

Programu inayolenga kitu (OOP) ni njia ya kisasa ya kuunda misimbo ya programu, ambayo imechukua nafasi ya programu iliyopangwa. Au tuseme, upangaji wa kitu haikuchukua nafasi ya muundo, lakini iliileta kwa ukamilifu wa kimantiki.

Katika lugha zinazoelekezwa kwa kitu, unaweza kuunda sio data tu, lakini data pamoja na taratibu (kazi):

object = data + taratibu (kitu = mali + algorithms)

Kitu katika sayansi ya kompyuta, kama mahali pengine, kinaitwa chochote: nambari, meza, mtekelezaji, programu, kitufe kwenye skrini...

Walakini, sayansi ya kompyuta inatazama vitu kutoka kwa mtazamo michakato ya habari. Hakuna kitu cha kushangaza katika njia hii: kila sayansi inazingatia vitu kutoka kwa maoni yake. Mwanafizikia, akiangalia kukimbia kwa nyuki, kiakili anakuja na kanuni zinazoelezea trajectory ya harakati ya wadudu. Mwanabiolojia anafikiri juu ya idadi ya macho, mbawa na miguu. Mwanasayansi wa kompyuta anatazama jinsi nyuki, akiwa na “ngoma” yake, anavyowapelekea watu wa ukoo habari kuhusu mashamba ya mimea ya asali.

Kwa kawaida, mwanasayansi wa kompyuta hutambua vipengele vitatu katika kitu:

  • Ni habari gani ambayo kitu huhifadhi (sifa za kitu, data ya kitu)?
  • Kitu huchakataje habari (algorithms ya kitu, taratibu za kitu)?
  • Je, kitu kinasambaza na kupokea taarifa gani (matukio ya kitu)?

Hebu tuchunguze TV ya kawaida kama kitu cha habari.

Sifa (data):
rangi: fedha;
skrini ya diagonal: 53 cm;
uzito: 20 kg.

Algorithms (taratibu):
on/off: kifungo (I);
kubadili programu: vifungo (-), (+) ya kuzuia PRG;
udhibiti wa sauti: vitufe (-), (+) zuia ¤.

Matukio:
Mapokezi ya TV;
usambazaji wa picha na sauti kwa mtazamaji.

Nyenzo na vitu vya kawaida

TV ni kitu cha nyenzo. Neno "nyenzo" linamaanisha "halisi", iliyopo katika hali halisi. Mwili wa TV umetengenezwa kwa plastiki, laini kwa kugusa. TV ni nzito sana - usiitupe kwenye mguu wako: itaumiza. Ikiwa unapiga TV na nyundo, itawezekana kuvunjika.

Fikiria TV inayoonyeshwa kwenye picha katika hotuba hii. TV hii ni, bila shaka, si nyenzo (halisi) TV. Huwezi kuigusa au kuinusa. Hawezi kuanguka chini. Televisheni iliyo kwenye picha ni kitu dhahania, ambayo ni, si halisi, haipo katika hali halisi.

Vitu vya habari

Wazo la kitu cha habari ni rahisi sana kwa watumiaji.

Ili kutazama programu kwenye TV, huna haja ya kujua jinsi picha inavyoonekana kwenye skrini na kwa nini sanduku hili la plastiki linazungumza kama mtu. Mtumiaji anahitaji tu kujua jinsi ya kuwasha TV, jinsi ya kuifanya kwa programu inayotaka na jinsi ya kuweka sauti inayotaka ya sauti. Kwa maneno mengine, mtumiaji lazima ajue algorithms ya kitu na aweze kuzitumia.

Matukio ya habari yanayohusiana na TV (hii ni mapokezi ya programu ya televisheni, uwasilishaji wa picha na sauti kwa mtazamaji) hukuruhusu kutumia mali na algorithms kwa madhumuni yao yaliyokusudiwa: tazama katuni ya kupendeza au ujue habari za hivi punde.

Hatuwezi kubadilisha sifa za TV, lakini tunaweza kuzizingatia. Lakini mali ya vitu vya kawaida ni rahisi kubadilika.

Upangaji wa kisasa una mwelekeo wa kitu. Hii inamaanisha kuwa programu ambayo itaendeshwa kwenye kompyuta imeundwa kama seti ya vitu vya habari.

Vitu vina sifa - seli za kumbukumbu za kuhifadhi habari na algoriti zinazochakata matukio - taarifa kutoka kwa vitu vingine. Programu inayoundwa na vitu haina algorithm moja ya kawaida, lakini inafanya kazi kama matokeo ya mwingiliano wa habari wa vitu.

Kila kitu kinatokea kama ndani maisha halisi. Baada ya yote, ulimwengu unaotuzunguka una vitu vya mtu binafsi (watu, wanyama, vitu, matukio) ambayo yapo kulingana na sheria zao wenyewe. Na maendeleo ya jumla ya ulimwengu imedhamiriwa na jinsi vitu vya mtu binafsi kuingiliana na kila mmoja.

Mfano wa kitu na kitu

Kwa ujumla, TV maalum katika istilahi ya OOP sio kitu, lakini mfano wa kitu. Kitu ni seti ya nyaraka katika kiwanda, kulingana na ambayo televisheni zinatengenezwa. Televisheni zote zinazotoka kwenye mstari wa mkusanyiko zina sifa sawa na algorithms sawa za udhibiti.

Ni sawa katika programu. Kitu ni kiolezo. Mfano wa kitu ni nakala inayofanya kazi.

Vipengee vilivyoainishwa vya Macromedia Flash. Lugha ya ActionScript

Wale ambao ndio wanaanza kufanya kazi katika Macromedia Flash wanaweza kuwa na udanganyifu kwamba tunaweza kuainisha kipengele chochote cha picha kwenye tukio kama kitu. Hakika, vipengele vya graphic vinaweza kuhamishwa, kunakiliwa, kufutwa, kubadilishwa, kuunganishwa, iliyokaa, makundi ... Wana mali ambayo tunafafanua wakati wa mchakato wa kuchora: rangi, ukubwa, sura ... Hata hivyo, neno la kitu hutumiwa katika Lugha ya programu ya ActionScript kwa maana tofauti. Kitu muhimu zaidi katika Macromedia Flash ni kipengee cha MovieClip.

Ili kupata wazo la vitu vilivyoainishwa vya Macromedia Flash, wacha tufanye mapitio mafupi baadhi yao. Kumbuka kuwa vitu hivi vinaweza kutumika kupata na kudhibiti aina fulani za habari:

Kitu Hisabati- seti ya viasili na kazi za kihesabu zilizojengwa ndani: cos (cosine), sin (sine), atan (arc tangent), abs ( thamani kamili namba)…
Kitu Sauti— hukuruhusu kuongeza sauti kwenye klipu na kuzidhibiti wakati klipu inacheza. Kwa mfano, unaweza kurekebisha kiasi (setVolume) au salio (setPan).
Kitu Kipanya- hukuruhusu kuficha mshale wa kawaida ili uweze kutumia nyingine.
Kitu MovieClip- hukuruhusu kudhibiti klipu. Klipu ina sifa (kwa mfano, _height, _rotation, _totalframes) na mbinu (play, loadMovie, au duplicateMovieClip).

Istilahi ya ActionScript

Kama lugha yoyote ya uandishi, ActionScript hutumia istilahi maalum zinazofuata kanuni mahususi za sintaksia. Orodha inayofuata Hutoa utangulizi wa masharti muhimu ya ActionScript.

Vitendo(amri) - kauli zinazotoa maagizo kwa klipu nini cha kufanya wakati wa kucheza tena. Kwa mfano, gotoAndStop husogeza uchezaji hadi kwa fremu mahususi.
Hoja(hoja), pia huitwa vigezo, hukuruhusu kupitisha maadili kwa kazi.
Madarasa(madarasa) ni aina za data zinazoweza kuundwa ili kufafanua aina mpya za vitu. Ili kufafanua darasa la vitu, kazi za wajenzi huundwa.
Mara kwa mara(mara kwa mara) - vipengele visivyoweza kubadilika. Kwa mfano, mara kwa mara Math.PI daima ina thamani maalum. Mara kwa mara ni muhimu kwa kulinganisha maadili.
Wajenzi(wajenzi) ni kazi zinazotumika kufafanua sifa na mbinu za darasa.
Aina za data(aina za data) - seti ya maadili na shughuli. Mifuatano, nambari, thamani za kweli na za uongo (Boolean) na klipu zote ni aina za data za ActionScript.
Matukio(matukio) - vitendo vinavyotokea wakati klipu inacheza. Kwa mfano, matukio mbalimbali hutokea wakati klipu imepakiwa, wakati mchezaji anacheza fremu, mtumiaji anabofya kitufe kwenye klipu, au bonyeza kitufe kwenye kibodi.
Maneno(maneno) - sehemu zozote za taarifa ambazo zina maadili. Kwa mfano, 2 + 2 ni usemi.
Kazi(kazi) ni vizuizi vya msimbo unaoweza kutumika tena ambao unaweza kupitishwa kwa hoja (vigezo) na unaweza kurejesha thamani. Kwa mfano, kitendakazi cha getProperty kinapitishwa jina la sifa na jina la klipu, na kurejesha thamani ya sifa hiyo. Kitendaji cha getVersion kinarudisha toleo la Flash Player inayocheza klipu.
Washughulikiajitimu maalum, ambayo hudhibiti matukio kama vile mouseDown au load.
Vitambulisho(vitambulisho) - majina yanayotumika kutambua vigeu, mali, vitu, kazi na mbinu. Herufi ya kwanza lazima iwe herufi, alama ya chini (_), au alama ya dola ($). Herufi yoyote inayofuata lazima iwe herufi, kistari (_), nambari, au ishara ya dola ($). Kwa mfano, jina la kutofautisha ni firstName.
Mifano(matukio) - vitu vya darasa maalum. Kila mfano wa darasa una mali na njia zote za darasa hilo. Klipu zote ni matukio yenye sifa (kama vile _alpha na _visible) na mbinu (kama vile gotoAndPlay na getURL) za darasa la MovieClip.
Majina ya mifano- majina ya kipekee ambayo hukuruhusu kubainisha mfano wa klipu katika hati. Kwa mfano, ishara asili katika maktaba inaweza kuitwa kaunta, na matukio yake mawili yanaweza kuitwa scorePlayer1 na scorePlayer2.
Maneno muhimu(maneno muhimu) - maneno yaliyohifadhiwa, yenye maana maalum. Kwa mfano, var - neno kuu, hutumika kutangaza vigeu vya ndani.
Mbinu(mbinu) - kazi za asili katika kitu. Mara tu chaguo la kukokotoa likifafanuliwa, linaweza kuitwa kama njia kwenye kitu hicho.
Vitu(vitu) ni makusanyo ya mali, ambayo kila moja ina jina na thamani yake. Vitu hutoa ufikiaji wa aina mbalimbali za data. Kwa mfano, kitu kilichofafanuliwa cha Tarehe hutoa habari kutoka kwa saa ya mfumo.
Waendeshaji(waendeshaji) - kuhesabu maadili mapya kutoka kwa thamani moja au zaidi. Kwa mfano, mwendeshaji wa nyongeza (+) huongeza thamani mbili au zaidi ili kutoa thamani mpya.
Mali(mali) - sifa zinazofafanua kitu. Kwa mfano, _visible ni kipengele cha klipu zote ambacho huamua kama klipu hiyo inaonekana au la.
Vigezo(vigezo) - vitambulishi ambavyo vina thamani ya aina yoyote ya data. Vigezo vinaweza kuundwa, kurekebishwa na kusasishwa. Thamani zilizomo zinaweza kuulizwa kwa matumizi katika hati.

Uwezo wa lugha ya ActionScript ni wa kina sana hivi kwamba haiwezekani kuufunika ndani ya mfumo wa kazi. kozi hii isiyo ya kweli, kwa hivyo tutajiwekea kikomo katika kuelezea dhana za kimsingi za lugha na kanuni za jumla za kuunda hati katika ActionScript.

ActionScript hukuruhusu kuunda hati za klipu(Alama ya aina ya Klipu ya Filamu), vifungo(Kitufe cha aina ya ishara) au sura muhimu(Fungumsingi). Kila hati kama hiyo (yaani, programu katika lugha ya ActionScript) imeunganishwa kwa uthabiti na kipengele sambamba cha video. Wakati wa kuchapisha video, maandishi ya hati, kama vipengele vingine vya filamu, yanasafirishwa hadi kwenye faili ya swf. Walakini, ikiwa unataka, unaweza kuihifadhi faili tofauti na ugani kama(hii ni kawaida faili ya maandishi) kutumika baadaye katika filamu nyingine.

Palette ya vitendo

Paleti ya Vitendo hukuruhusu kuunda na kuhariri hati za vitu (klipu na vifungo), pamoja na fremu muhimu. Unaweza kuchagua amri zilizotanguliwa kutoka kwenye orodha ya amri - Orodha ya Toolbox (upande wa kushoto wa palette), buruta kwa upande wa kulia wa jopo; tumia vitufe vilivyo juu ya sehemu ya maandishi ili kuchagua amri, kuifuta na kupanga upya amri.

KATIKA Hali ya Kawaida(hali ya kawaida) unaweza kuandika amri kwa kutumia sehemu za parameta (hoja).

KATIKA Hali ya Mtaalam(hali ya kitaalam) unaweza kuandika na kuhariri amri moja kwa moja kwenye uwanja wa maandishi, kama katika kihariri cha maandishi cha kawaida.

Wakati wa kuunda hati kwa kuchagua amri kutoka kwa orodha, unapaswa kuzingatia ukweli kwamba amri hizi zimepangwa katika kategoria:

Vitendo(amri) - Taratibu za lugha za ActionScript ambazo ni "zima" kwa asili, ambayo ni, huru na sifa za darasa la vitu (kinyume na mbinu za vitu vya darasa maalum); Aina hii pia inajumuisha waendeshaji wa udhibiti wa kimantiki kwa lugha nyingi za kiwango cha juu cha programu (kuangalia hali ya kimantiki, kupanga kitanzi, n.k.).

Waendeshaji(waendeshaji) - waendeshaji wa shughuli za kimantiki na hesabu (kuongeza, kutoa, kulinganisha, nk).

Kazi(kazi) - kazi zilizoainishwa (maktaba) (kwa mfano, zinajumuisha kazi ya kuangalia nambari ya toleo la kicheza Flash).

Mara kwa mara(mara kwa mara).

Mali(mali) - mali ya vitu ambavyo hazitegemei darasa (kwa mfano, kiwango cha uwazi wa picha).

Vitu(vitu) - vitu vilivyoainishwa ambavyo vinaweza kutumika katika hati (kwa mfano, kuna kitu cha kufanya kazi na tarehe na wakati); Sehemu hii pia inajumuisha madarasa ya kitu maalum.

Imeacha kutumika(imeacha kutumika) - miundo ambayo haipendekezwi kutumika katika hati (kama imepitwa na wakati).

Vipengele vya UI vya Flash(vipengele vya kiolesura cha mtumiaji).

Mbali na sehemu zilizoorodheshwa, orodha ya Sanduku la Vitendo pia ina sehemu Kielezo, ambayo ina orodha ya alfabeti ya vipengele vyote vya lugha.

Kuangazia na kukagua sintaksia

Mfumo wa kuangazia sintaksia hupaka vipengele fulani vya ActionScript katika rangi tofauti.

Maneno muhimu na vitambulishi vilivyobainishwa (kwa mfano, gotoAndStop, cheza na simamisha) vimeangaziwa katika rangi ya samawati iliyokolea.

Maoni yameangaziwa kwa rangi ya kijivu iliyokolea.

Mistari iliyozungukwa na nukuu iko katika samawati angavu.

KATIKA hali ya kawaida Wote makosa ya sintaksia zimeangaziwa kwa usuli dhabiti nyekundu kwenye dirisha la hati. Hii hurahisisha tatizo la kutafuta makosa. Ukipeperusha kipanya chako juu ya amri ya makosa, kidokezo kitatokea ambacho kitaonyesha ujumbe wa makosa unaohusishwa na amri hiyo. Unapochagua amri hii, ujumbe wa hitilafu pia utaonekana kwenye upau wa hali wa Upau wa Chaguzi.

Kuangalia hati ya sasa kwa makosa, unapaswa kutumia sehemu Angalia Syntax kutoka kwa menyu kunjuzi upande wa kulia kona ya juu Paleti ya vitendo au kitufe kinacholingana (angalia rangi ya bluu katika Hali ya Mtaalam).

Warsha. Kuchanganua hati
Video nambari 1

Hapa kuna video ya kawaida sana ambayo kazi ya viungo imepangwa. Kizuizi cha maandishi kilichopo kwenye video ni maandishi tuli, ambayo sifa zifuatazo zimefafanuliwa katika paji la Sifa:

Kwa sehemu Kiungo cha URL anwani ya hati imeandikwa. Katika sura Lengo unataja dirisha au sura ambayo hati iliyoombwa inapaswa kupakiwa. Katika video hii, hati itapakiwa kwenye dirisha jipya la kivinjari.

Tunaunda hati ya kifungo kwa kutumia palette ya Vitendo. Ili kufanya hivyo, chagua kifungo kwa kutumia zana ya Kishale na upanue palette ya Vitendo.

Ili kutumia amri ya getURL katika kazi yako, nenda kwenye kitengo cha Vitendo > Kivinjari/Mtandao > getURL. Kisha, ukigeukia sehemu za parameta, amua juu ya anwani ya hati...
Nitatoa maoni kwa undani zaidi juu ya baadhi ya nuances ya kufanya kazi na palette ya Vitendo kwenye video hii.

Kigezo Dirisha inabainisha dirisha au fremu ambamo hati iliyoombwa inapaswa kupakiwa. Thamani ya parameta imechaguliwa kwa kutumia orodha ya kushuka ambayo ina chaguzi zifuatazo (zinafanana na maadili ya sifa inayolengwa ya tepe. katika HTML):

_binafsi- hati itapakiwa kwenye dirisha la sasa au sura;
_tupu- hati itapakiwa kwenye dirisha jipya;
_mzazi- hati itapakiwa kwenye sura ya mzazi au ya sasa;
_juu- hati itapakiwa kwenye fremu katika ngazi ya juu ya uongozi au kwenye dirisha la sasa.

Ikiwa ni lazima, thamani ya parameter hii inaweza kupatikana kama matokeo ya kuhesabu usemi. Katika kesi hii, angalia kisanduku Kujieleza(maneno) iko upande wa kulia wa orodha ya Dirisha.

Kigezo Vigezo hukuruhusu kubainisha jinsi data itatumwa kwa URL fulani. Thamani ya parameta imechaguliwa kutoka kwenye orodha ya kushuka, ambayo ina chaguzi tatu:

Usitume(usitume) - uhamisho wa data hauhitajiki;
Tuma kwa kutumia GET(tuma kwa kutumia GET) - njia ya GET itatumika kutuma data;
Tuma kwa kutumia POST(tuma kwa kutumia POST) - njia ya POST itatumika kutuma data.

Acha nikukumbushe kwamba tofauti katika kutumia njia za GET na POST kutuma data kwa seva ni kwamba na ya kwanza yao, data iliyotumwa imeongezwa kwa mstari wa anwani. Kwa kuwa urefu wa anwani ni mdogo kwa wahusika 256, kiasi cha data iliyotumwa pia ni mdogo.

Tambua kuwa amri ya getURL iliwekwa kiotomatiki ndani ya viunga vilivyopinda vya kitu kinachoitwa on(release). Ukweli ni kwamba unapokabidhi kitendo kwa kitufe au klipu, Flash hutengeneza kiotomati utaratibu maalum wa kudhibiti (kidhibiti), ambacho katika lugha nyingi zinazoelekezwa kwa kitu huitwa "kidhibiti cha hafla" (au "kiteuzi"). Kidhibiti hukagua ikiwa tukio la aina fulani limetokea, na ikiwa ni hivyo, huanzisha mlolongo ufaao wa vitendo vilivyofungwa katika viunga vilivyopindapinda.

Kwa vifungo, kidhibiti kina jina juu, na kwa klipu - kwenyeClipEvent. Jina la kidhibiti hutangulia orodha ya matukio ambayo kidhibiti anapaswa kujibu. Kwa mfano, kubuni:
on (kutolewa, KeyPress:"A")
inamaanisha kuwa kidhibiti lazima kijibu aina mbili za matukio: kutolewa (kitufe cha kipanya kimetolewa) na KeyPress: "A" (kitufe cha "A" kimebonyezwa kwenye kibodi).

Aina zifuatazo za matukio zinapatikana kwa vitufe katika ActionScript:

Bonyeza- Mtumiaji anabofya kitufe cha kipanya wakati pointer iko juu ya picha ya kifungo (sinema).

Kutolewa- Mtumiaji anabonyeza na kisha atoe kitufe cha panya (kiashiria kiko juu ya picha ya kitufe).

Kutolewa Nje- Mtumiaji anatoa kitufe cha kipanya wakati pointer haiko juu ya picha ya kitufe.

Bonyeza kitufe- Mtumiaji anabonyeza kitufe maalum kwenye kibodi; Kwa tukio hili, lazima ueleze ufunguo zaidi.

Pinduka- Mtumiaji husogeza pointer juu ya picha ya kitufe.

Toa nje- Mtumiaji anahamisha pointer nje ya picha ya kitufe.

Buruta Juu- Mtumiaji anabonyeza kitufe cha kipanya wakati pointer iko juu ya kitufe, anaisogeza nje ya kitufe, na kisha kuiweka tena juu ya kitufe.

Buruta Nje- Mtumiaji anabofya kitufe cha kipanya huku kielekezi kikiwa juu ya kitufe kisha kusogeza pointer nje ya kitufe.

Ili kubadilisha orodha ya matukio ambayo kipengee cha filamu kinapaswa kujibu, unahitaji kubofya mstari wa hati ambayo ina jina la kidhibiti. Hii itabadilisha muundo wa dirisha la vigezo, na kikundi cha visanduku kitatokea ndani yake, ambacho unaweza kuchagua matukio yanayohitajika. Chaguo lililofanywa linaonyeshwa mara moja kwenye dirisha la script.

Na mwishowe, kuna sura moja tu na safu moja inayofanya kazi kwenye video.

Video nambari 2

Katika video hii, tutajifunza jinsi ya kuandika vitendo kwa kitufe, fremu, na klipu.

Ili kufanya kazi kwa urahisi kwenye video, unapaswa kuunda tabaka tatu.

Tabaka kitendo. Katika safu hii, kama ilivyo kwa wengine wote, kuna sura moja tu, haina kitu, ndio ufunguo na hati imepewa:

Fscommand("showmenu", "uongo"); fscommand("skrini nzima", "kweli");

Mistari hii huamua tabia ya video yako wakati wa kucheza tena. Mstari wa kwanza hukuruhusu kuondoa menyu kwenye kichezaji (hii ni muhimu sana wakati video yako ni programu ya majaribio, na mtumiaji anapaswa kunyimwa haki ya kuchukua hatua nyuma Dhibiti > Rudi nyuma). Mstari wa pili huongeza video yako hadi kwenye skrini nzima. Ili kuandika mistari hii, unahitaji kusimama kwenye fremu hii na uende kwenye kitengo cha Vitendo > Kivinjari/Mtandao > fscommand.

Tabaka pengwini. Safu hii ina vizuizi vya maandishi tuli na yanayobadilika, kitufe na klipu. Vitalu vya maandishi tuli vinaangaziwa kwa kijani kibichi, vizuizi vya maandishi yanayobadilika vinaangaziwa kwa rangi nyekundu.

Kwanza, hebu tufafanue vizuizi vya maandishi vinavyobadilika. Ili kuunda kizuizi cha maandishi yanayobadilika, tumia zana ya Maandishi ambayo tayari inajulikana. Walakini, yaliyomo kwenye kizuizi hubaki tupu. Tutawapa kujaza vitalu hivi na data kwenye kitufe. Saizi ya vizuizi inaweza kubadilishwa wakati wa mchakato wa kurekebisha video. Kila kizuizi cha maandishi yanayobadilika lazima kipewe jina. Makini na palette ya Sifa. Chini ya Aina ya Maandishi, chagua Maandishi Inayobadilika, chini ya Var(Kigezo) Bainisha jina la kuzuia.

Kwa mfano, katika video hii, kizuizi chenye nguvu kilicho kinyume na maandishi tuli "upana wa mfano" kinapewa jina w, kwa mfano urefu h, jina la mfano n, kuratibu za hatua ya usajili ya mfano vitalu viwili x Na y. Tafadhali kumbuka kuwa Flash inaangazia vizuizi vya maandishi yanayobadilika yenye mstari wa nukta.

Pili, wacha tuunde klipu ambayo kipengee cha picha - penguin - kitawekwa. Katika video hii, hizi ni michoro zilizoingizwa katika umbizo la wmf. Baada ya michoro kuingizwa, tumia amri ya Geuza hadi Alama na uigeuze kuwa klipu (ishara kama Klipu ya Sinema), tuiite, kwa mfano, penguin_vl. Klipu itawekwa kiotomatiki kwenye maktaba ya video, lakini inapaswa kuondolewa kwenye hatua. Hatua inayofuata ni kuunda klipu mpya. Hebu tutumie amri ya Alama Mpya na tuitaje klipu hii penguin_au. Katika fremu ya kwanza ya klipu hii, kwa kutumia maktaba ya video, weka mfano wa klipu ya penguin_vl (tutaiandikia hati baadaye). Ongeza fremu nyingine muhimu kwenye klipu.

Rudi kwenye jukwaa na uweke mfano wa pengwini_au klipu juu yake. Na si tu kuiweka, lakini kuandika juu ya hatua. Ili kufanya hivyo, nenda kwenye palette ya Mali, na katika sehemu ya Jina la Mfano, taja jina la mfano, kwa mfano penguin (hata hivyo, una haki ya kuipa jina unalotaka, kumbuka tu sheria za kuunda majina katika ActionScript). Sasa hebu tuhariri klipu, mfano ambao uliwekwa kwenye hatua, kwa kutumia amri ya Hariri kwa hili. Wacha tuandike hati ya klipu kwenye fremu ya kwanza:

OnClipEvent (mzigo) ( setProperty("_root.penguin", _alpha, nasibu(50)+50); )

Timu setProperty Hukuruhusu kubadilisha kipengele cha kielelezo cha klipu wakati klipu inacheza. Wacha tujaribu kuelewa syntax kwa kutumia umbizo la amri ya jumla:

setProperty(lengo, mali, usemi);

lengo- hii ndiyo njia ya mfano wa klipu ambayo mali yake inahitaji kubadilishwa (_root.penguin, tukijua njia ya mfano, tunairejelea kwa jina ambalo tuliiweka kwenye paji la Sifa).

mali- mali ambayo inahitaji kubadilishwa (_alpha, kwa upande wetu huu ni uwazi wa mfano).

kujieleza— thamani iliyopewa mali (nasibu(50)+50, nambari nasibu kutoka 50 hadi 100). Hakikisha umechagua kisanduku cha kuteua cha Usemi. Kwa kuwa thamani ya parameta hii lazima ipatikane kama matokeo ya kutathmini usemi.

Ili kuhakikisha kuwa uwazi wa klipu ya pengwini hubadilika kila mara video inapocheza, tuliunda fremu mbili. Acha nikukumbushe kwamba tu katika sura ya kwanza ya klipu ilikuwa hati iliyoandikwa. Fremu ya pili inaweza kuachwa tupu, lakini penguin haitayumba, lakini itapepesa vibaya sana. Hakikisha umejaribu video na uhakikishe kuwa maneno yangu ni sahihi.

Na pia, kwa nini kuna kabla ya jina la nakala iliyoandikwa kwenye hatua? _mzizi?

Unapotumia setProperty amri kutaja njia ya kitu, utahitaji kurejelea kitufe Weka njia inayolengwa(kitufe hiki kinafanana na nywele). Katika kesi hii, dirisha la Ingiza njia inayolengwa itafungua mbele yako, ambayo unaweza kuelezea njia ya marudio (yaani, anwani).


Dirisha hili lina vipengee kuu vifuatavyo vya kiolesura:

Mti wa filamu unaoakisi mpangilio wa vipengee vya filamu vinavyoweza kufikiwa kutoka kwa hati.

Kwa kuwa wakati wa kupata kitu, jina la mfano unaofanana (kifungo, klipu, uwanja wa maandishi) hutumiwa, matukio yaliyotajwa tu (yaliyosajiliwa kwenye hatua) yanajumuishwa kwenye mti.

Kipengele cha mizizi ya mti kinategemea njia ya kushughulikia: kwa anwani kabisa, hii ni neno kuu _mzizi(Hiyo ni, filamu kuu), kwa jamaa - neno hii(Hiyo ni, mchoro wa sasa wa wakati).

Sehemu ya maandishi ya laini nyingi Lengo(marudio), iliyokusudiwa kuingia na kurekebisha njia ya marudio; Ukichagua kipengee kwenye mti wa sinema, njia inayolingana itaonekana kwenye uwanja unaolengwa, ambao unaweza kubadilishwa au kuongezwa kwa mikono.

Jozi ya swichi Hali(mode), ambayo inakuwezesha kuchagua njia ya kushughulikia (jamaa - Jamaa au kabisa - Kabisa). Chaguo-msingi ni anwani ya jamaa.

Jozi ya swichi Nukuu(notation) inayokuruhusu kuchagua umbizo la nukuu la njia lengwa: chaguo Doti(dots) maana yake ni kutumia nukuu ya nukta; chaguo Mikwaju(mikwaju) inalingana na nukuu kwa kutumia mikwaju (huu ni mtindo wa "urithi" unaotumika kwa upatanifu na matoleo ya awali ya ActionScript). Unapotumia mikwaju, umbizo la nukuu ni sawa na lile lililotumiwa kuandika URL katika hati za HTML.

Wacha tuendelee kufanyia kazi video.

Unahitaji kuweka kifungo kwenye safu sawa. Katika video hii nilitumia maktaba ya Flash.

Tunapeana hati kwa kitufe:

Imewashwa (kutolewa) ( w = getProperty(_root.penguin, _width); n = getProperty(_root.penguin, _name); h = getProperty(_root.penguin, _height); x = getProperty(_root.penguin, _x); y = getProperty(_root.penguin, _y);)

Kazi getProperty hurejesha thamani ya sifa iliyobainishwa ya klipu iliyobainishwa. Wacha tujaribu kuelewa syntax kwa kutumia umbizo la amri ya jumla:

getProperty(jina la mfano, mali);

jina la mfano- jina la mfano wa klipu ambayo ungependa kupata mali yake.

mali- jina la mali ya klipu.

Ili kugawa w thamani iliyohesabiwa na chaguo la kukokotoa, unahitaji kwenda kwa Kitendo > Vigezo > weka kitengo cha kutofautisha.

Tabaka ramka. Hii ni safu ya mapambo.

Jaribu video na, ikiwa ni lazima, fanya marekebisho. Jaribio na sifa.

Kazi ya nyumbani: Misingi ya utayarishaji katika Macromedia Flash MX

Kazi za nyumbani za kozi hii zitajumuisha maneno ya ajabu.

Ujuzi wetu ni kama mpira; kadiri unavyokuwa mkubwa, ndivyo unavyoweza kuwasiliana na vitu visivyojulikana.
Efremov Ivan Antonovich

Rudufu video zilizowasilishwa katika hotuba hii.

Wasilisha kazi yako iliyokamilika kama faili katika umbizo la fla (ikiwa jumla ya ukubwa wa faili unazidi KB 150, tafadhali weka faili kwenye kumbukumbu) na uitume kwa mwalimu.

Jaribio: Misingi ya upangaji programu katika Macromedia Flash MX

Nyenzo za mtihani ni pamoja na maswali ambayo yatakuwezesha kupima nguvu ya ujuzi uliopatikana wakati wa kazi kwenye moduli ya kwanza ya kozi.
Jaribio liliundwa katika Macromedia Flash MX na ni filamu inayoingiliana ya flash:

Programu ya kuunda michezo ya flash bila ujuzi wa lugha za programu. Inakuruhusu kuunda michezo kutoka kwa vizuizi vya kimantiki na picha zilizotayarishwa mapema.

Hapo zamani, labda miaka michache iliyopita, programu ya Muumba Mchezo ilionekana kwenye tovuti yetu, ambayo ilikuwezesha kufanya michezo bila ujuzi wa lugha yoyote ya programu!

Bado ukurasa huu ni mojawapo ya kujadiliwa zaidi katika nchi yetu, na mara nyingi katika maoni kuna malalamiko kwamba haiwezi kutumika kuunda michezo ambayo inaweza kuchezwa mtandaoni. Leo tutarudi kwenye mada ya ukuzaji wa mchezo na tuangalie programu kama hiyo ambayo inaweza kufanya michezo ya flash - Stencyl!

Vipengele vya programu

Kwa kutumia Stencyl, unaweza kuunda michezo ya 2D ya aina yoyote, lakini zaidi ya yote, injini ya programu "imeundwa" kwa ajili ya michezo mbalimbali ya hatua ya mpiga risasi. Kimuundo, programu ni seti nzima ya zana ambazo unaweza, ikiwa inataka, kuunda mchezo kutoka mwanzo bila kutumia programu za mtu wa tatu.

Tunafunga dirisha ibukizi na habari kuhusu toleo jipya la programu na kitufe cha "Funga" au "Usionyeshe hii tena" (ikiwa hatutaki kuona dirisha hili kila wakati tunapoanzisha programu) na badala yake tunapata dirisha lifuatalo:

Hapa tunaombwa kuunda akaunti yetu wenyewe katika jumuiya ya wasanidi wa Stencyl. Kimsingi, si lazima ufungue akaunti (ili kufanya hivyo, bofya kitufe cha "Nikumbushe Baadaye" hapa chini), lakini usajili hukupa fursa ya kupakua violezo na vitendo vya ziada kutoka. hifadhi ya mtandaoni inayoitwa StencylForge, kwa hivyo haitaumiza :). Ili kuunda akaunti, bofya kitufe cha "Unda Akaunti" na uende kwenye fomu ya usajili:

Hapa tunajaza mashamba ya kawaida na kuingia kwako, nenosiri (mara mbili) na anwani Barua pepe, kisha bonyeza kitufe cha "Jisajili". Ikiwa kila kitu kinakwenda vizuri, basi interface ya dirisha la kuanza kwa programu hatimaye itafungua mbele yako.

Anza kiolesura cha dirisha

Nje nafasi ya kazi Dirisha la kuanza la Stencyl limegawanywa katika kanda kadhaa:

Hapo juu kuna jadi upau wa menyu na upau wa vidhibiti. Mipangilio yote kuu na vifungo vya udhibiti vinakusanywa hapa. Chini ya upau wa zana tuna mstari mdogo mwembamba wa kijivu. Ina tabo (ndiyo, interface ya Stencyl ni tabo nyingi, ambayo ni rahisi sana) na vifungo vya kubadili haraka kati yao (upande wa kulia).

Sehemu kuu ya kazi imegawanywa katika sehemu mbili: upande wa kushoto kuna jopo la urambazaji kwa sehemu za programu, na upande wa kulia kuna yaliyomo kuu (kwenye skrini kuu kuna orodha ya michezo), ambayo inabadilika kulingana na hali ya kufanya kazi kwa sasa. Kuna vifungo vichache zaidi chini ambavyo vinakuruhusu:

  1. Fungua folda ambayo Stencyl huhifadhi rasilimali zote za michezo iliyoundwa na michezo yenyewe (kitufe cha "Angalia Folda ya Michezo" kwenye kona ya chini kushoto).
  2. Anzisha kozi ya kufanya kazi na programu ("Anza Kozi ya Kuacha Kufanya Kazi" kwenye paneli ya kijani kwenye kona ya chini kulia). Kwa njia, karibu nayo kuna kifungo cha kuficha toleo la kupata mafunzo ("Usionyeshe hii tena").
  3. Fungua mchezo uliochaguliwa sasa kutoka kwenye orodha, ambayo ni sawa na kubofya mara mbili kwenye picha ya mchezo ("Fungua Mchezo" kwenye kona ya chini ya kulia).

Ili kujifunza kwa kujitegemea uwezo wa Stencyl, unaweza kuchukua kozi ya mafunzo (na itakuwa vyema kuikamilisha), na pia kufungua moja ya michezo iliyopangwa tayari ambayo inafaa zaidi wazo lako na kuona jinsi kila kitu kinavyofanya kazi huko. Na ninapendekeza kusoma kazi ya programu kwa kutumia mfano wa kuunda mchezo kuhusu adventures ya ishara ya tovuti yetu na mkazi wake wa kawaida - Frida Best!

Wapi kuanza kuunda mchezo katika Stencyl

Ikiwa wewe, kabla ya kuamua kuunda mchezo wako, uliangalia mifano ya kawaida ya michezo kwenye Stencyl, unaweza kuwa umegundua kuwa kimsingi yote ni rahisi sana, skrini moja na ina mwonekano wa upande. Tutafanya mpigaji risasi mwenye nguvu na mwonekano wa juu na kupiga risasi na panya! Kila kitu ni kama katika michezo "kubwa" :).

Kwa mradi wako, unaweza kubadilisha mantiki ya moja ya violezo vilivyotengenezwa tayari, lakini hatutafuti njia rahisi na kwa hivyo - tu "kutoka mwanzo", tu "hardcore" :). Ili kufanya hivyo, bonyeza kitufe cha "Unda Mchezo Mpya" kwenye upau wa zana wa nafasi ya kazi (au kwenye menyu ya "Faili" - "Unda Mpya") na uingie kwenye dirisha lifuatalo:

Hapa tunaweza kuchagua kiolezo cha mchezo kulingana na aina na seti ya vitendakazi na vitendo vilivyochaguliwa mapema vya mradi wako. Hata hivyo, tutaunda mchezo kutoka mwanzo, kwa hiyo chagua "Mchezo tupu" na ubofye kitufe cha "Next".

Katika hatua inayofuata, tutahitaji kufanya mipangilio ya msingi:

Katika sehemu ya "Jina" tunahitaji kuonyesha jina la mchezo wetu, na katika sehemu ya "Ukubwa wa Skrini" tunahitaji kuweka vipimo vya uwanja, kuonyesha upana wake (Upana) na urefu (Urefu) kwa saizi. Baada ya hayo, bofya kitufe cha "Unda" na uende moja kwa moja kwenye kiolesura cha mhariri wa mchezo:

Kwa chaguo-msingi, kichupo cha "Dashibodi" kinafungua mbele yetu, ambayo mti mzima wa rasilimali wa mchezo hukusanywa upande wa kushoto, na eneo la kazi liko upande wa kulia. Hapa, nadhani, itakuwa sahihi kufanya maelezo fulani juu ya muundo wa "mti".

Inajumuisha matawi manne, mawili ya kwanza ambayo yana seti za kawaida za rasilimali (RESOURCES) na mantiki (LOGIC), na mbili za mwisho zinaweza kuhifadhi kwa hiari vifurushi vya rasilimali vilivyopakuliwa (RESOURCE PACKS) na viendelezi (EXTENSIONS).

Tawi kuu hapa ni tawi la RESOURCES. Ina sehemu zifuatazo:

  1. Aina za Waigizaji - safu za wahusika wote wa mchezo huhifadhiwa hapa na vitendo vya uhuishaji na mwingiliano wao husanidiwa.
  2. Asili - katika sehemu hii tunaweza kuhifadhi asili zote muhimu kwa mchezo. Kwa kuongezea, mandharinyuma inaweza kuwa ya mandharinyuma (asili) na ya mbele (ya mbele), ambayo hukuruhusu kufunika asili juu ya kila mmoja, na hivyo kufikia, kwa mfano, athari ya parallax.
  3. Fonti ni sehemu ambayo tunaweza kupakia fonti mbalimbali nzuri ili kuunda maandishi asili. Hata hivyo, inafaa kuzingatia kwamba Stencyl inaweza tu kufanya kazi na seti ya herufi ya Kiingereza, kwa hivyo ili kuongeza herufi za Kirusi kwenye faili ya fonti, tunahitaji kubadilisha baadhi ya herufi za Kilatini nazo.
  4. Scenes ni mahali pa kuunda na kuhariri viwango vya mchezo. Hapa ndipo tunaweza kuuliza mwonekano hatua yoyote na kuweka wahusika wote, bonuses na vipengele vingine vya mchezo.
  5. Sauti - kwa mtiririko huo hazina ya sauti zote zinazotumiwa kwenye mchezo.
  6. Tilesets ni tawi maalum ambalo vigae huhifadhiwa - sprites maalum ambazo tunaweza kutumia kujenga viwango vya mchezo.

Kuunda na kubinafsisha vigae

Hakuna maoni wazi juu ya utaratibu wa kutekeleza hili au mchezo huo. Inategemea kile kinachofaa kwako, lakini ningependekeza algorithm ifuatayo:

Tunaunda eneo la kwanza - tunaunda tabia - tunaunda maadui - tunaunda mafao - tunaunda hatua zilizobaki

Ili kuunda tukio katika Stencyl unahitaji kuchora mwonekano wake katika tawi la Scenes. Hata hivyo, ili kuchora, tunahitaji kwanza kuwa na vitalu vya "kuteka" navyo. Vitalu hivi kwenye programu vinaitwa tiles na huhifadhiwa katika sehemu ya Tileset:

Seti ya tiles ni matrix rahisi inayojumuisha picha unazopakia ndani yake. Unaweza kupakia matrix iliyotengenezwa tayari (picha inayojumuisha picha kadhaa za ukubwa sawa katika safu moja au safu kadhaa) au kuongeza seti zilizopo na picha tofauti.

Kwanza, tunahitaji kuunda seti mpya ya tiles (kitufe cha "Unda Mpya" katika sehemu ya Tilesets), baada ya hapo tutaona dirisha kama kwenye skrini hapo juu. Ili kupakia picha, tunahitaji kubofya kitufe cha "Chagua Picha" na uchague faili iliyotayarishwa awali nayo picha inayotakiwa(s).

Wakati picha imepakiwa, tutaweka vigezo vya mpangilio wake na vipimo kwa upana na urefu, baada ya hapo (ikiwa kila kitu kinaonyeshwa kwa usahihi) unaweza kuongeza picha kwenye seti kwa kubofya kitufe cha "Ongeza".

Kwa kila picha (kigae) kwenye tumbo, unaweza kusanidi vigezo vya mwingiliano na wahusika wa mchezo na vitu. Ili kufanya hivyo, unahitaji kuchagua tile inayotaka na ufikie dirisha lifuatalo:

Juu paneli ya kulia Sehemu ya Mipaka ya Mgongano itafunguliwa. Hapa tunaweza kuchagua fomu ya bure, ikionyesha mipaka ya mwingiliano kati ya kitu chetu na wahusika wa mchezo. Kwa chaguo-msingi, tiles zote zina parameter ya "Mraba", ambayo hufanya tile isipitike kabisa na imara. Ikiwa unahitaji kufanya tile "uwazi" kwa wahusika (kwa mfano, jinsia), kisha tu kuweka parameter "Hakuna Migongano".

Mbali na mipaka, unaweza kuweka uhuishaji kwa kila kigae kwa kuongeza fremu kwa kutumia kitufe cha "Ingiza Fremu" kwenye kidirisha cha chini. Kwa chaguo-msingi, kasi ya uhuishaji ni milisekunde 100, lakini nambari hii inaweza kubadilishwa kiholela kwa kila fremu.

Ili kufanya hivyo, bonyeza mara mbili kwenye sura inayotaka na kitufe cha kushoto cha panya na kwenye dirisha linalofungua, badilisha viashiria vya kuchelewa kama tunavyohitaji. Inawezekana pia kurekebisha sura iliyochaguliwa kwa kutumia mhariri wa picha iliyojengwa, ambayo inafungua kwa kifungo cha "Hariri Frame".

Akitoa tukio huko Stencyl

Baada ya seti ya matofali kuundwa, ni mantiki kuendelea na hatua inayofuata - kutengeneza nafasi ya kucheza ya kumaliza kutoka kwa picha zilizoongezwa. Hii inaweza kufanywa kwa kubofya kitufe cha "Unda Mpya" katika sehemu ya Maonyesho. Baada ya kubofya kitufe tutachukuliwa kwenye dirisha la mipangilio ya tukio:

Hapa kwa hakika tunahitaji kuweka jina la kipekee kwa eneo letu kwenye uwanja wa "Jina", taja vipimo (upana na urefu katika vigae (kwa chaguo-msingi) au saizi), na pia kwa hiari (yaani, kulingana na matakwa yetu wenyewe) seti. rangi ya mandharinyuma ya onyesho jipya. Bonyeza "Sawa" na uingie kwenye kihariri cha kiwango:

Kwa kuonekana anafanana mhariri wa michoro. Katikati kuna eneo la kazi ambapo tunachora kiwango chetu. Kwenye kushoto na juu kuna viunzi vidogo vya zana. Kwa upande wa kulia ni paneli za palette, kuchagua seti za tile na tabaka za kusimamia. Sasa yote yanafanyaje...

Kwanza kabisa, tunachora historia ya eneo letu la kazi. Ili kufanya hivyo, kwenye jopo la kulia, fanya kichupo cha "Palette" na juu yake kichupo cha "Tiles" na uchague tile inayotakiwa kutoka kwenye orodha iliyowasilishwa. Kisha, katika jopo la kushoto, chagua chombo cha Penseli na kuteka maeneo yaliyotakiwa na tile iliyochaguliwa.

Kwa sababu ya usaidizi wa tabaka, tiles zinaweza kuingiliana, kwa hivyo ni busara zaidi kupanga kiwango kwa kuzingatia ukweli kwamba, kwa mfano, kwenye safu ya "Tabaka 0" tutakuwa na safu ya nyuma, juu ambayo kutakuwa na. kuwa safu na vikwazo na wahusika, na hata juu - safu na counters mbalimbali na viashiria vya mchezo.

Unaweza kudhibiti safu kwa kutumia vitufe chini ya kidirisha cha "Tabaka". Kuna vifungo vya kuunda, kufuta, kusonga na kubadilisha tabaka. Kwa kuongeza, safu yoyote inaweza kufichwa au kuonyeshwa kwa kubofya kitufe cha jicho upande wa kulia wa jina la safu.

Uundaji wa Tabia

Baada ya kuunda onyesho la kwanza, ni wakati wa "kuijaza" na wahusika mbalimbali wa mchezo. Katika Stencyl wanaitwa "watendaji" na huhifadhiwa, ipasavyo, katika sehemu ya "Aina za Waigizaji". Waigizaji wameundwa kulingana na kanuni hiyo hiyo, kwa hivyo tutaangalia mchakato huu kwa kutumia mfano wa kuunda mhusika mkuu wa mchezo wetu, Frida.

Ili kuongeza mwigizaji mpya, nenda tu kwenye sehemu ya Aina za Waigizaji iliyotajwa hapo juu na ubofye kitufe cha "Unda Mpya" hapo. Kama kawaida, tutaulizwa tena kile tunachotaka kutaja kitu kipya cha mchezo, kisha dirisha la uhariri wa uhuishaji wa wahusika litaonekana mbele yetu:

Hapa, upande wa kushoto, orodha ya uhuishaji ulioongezwa wa waigizaji huonyeshwa (kwa chaguo-msingi, fremu tupu "Uhuishaji 0"), na upande wa kulia kuna zana za kuongeza na kubinafsisha uhuishaji huu sawa.

Teua uhuishaji mtupu (au ongeza mpya kwa kubofya kitufe cha kuongeza hapa chini) na ubofye sehemu ya "Bofya hapa ili kuongeza fremu" kwenye upande wa kulia. Baada ya hayo, dirisha la kuongeza picha litafungua, ambalo ni sawa na dirisha sawa la kuongeza tiles mpya kwenye seti. Bofya kitufe cha "Chagua picha", chagua picha inayotaka na urekebishe mpangilio wake na vipimo (ikiwa ni lazima).

Wakati kila kitu kimesanidiwa, bofya kitufe cha "Ongeza" katika sehemu ya chini ya kulia ya dirisha la kuongeza - uhuishaji unapaswa kuonekana kama hakikisho katika sehemu ya kushoto:

Sasa tunachopaswa kufanya ni kurekebisha kasi ya fremu (bofya mara mbili kwenye fremu zozote) na zingine Chaguzi za ziada, kama vile jina la uhuishaji (muhimu sana kwa miradi changamano), Uchezaji tena (unaofanya kazi kwa chaguo-msingi), ulandanishi na Sehemu ya Mwanzo ya asili ya sprite (katikati kwa chaguo-msingi).

Kwenye upau wa zana wa chini katika sehemu ya kulia tutapata safu ya vifungo. Wanaruhusu:

  • ongeza fremu mpya kwenye uhuishaji (Ingiza Fremu);
  • hariri fremu iliyochaguliwa katika kihariri cha nje (Hariri Frame (Nje));
  • unda sura katika mhariri wa nje (Unda Frame (Nje));
  • hariri fremu katika kihariri kilichojengwa (Hariri Frame);
  • ondoa sura (Ondoa Frame);
  • sura ya nakala (Nakili Frame);
  • kuweka sura (Bandika Frame);
  • sogeza fremu moja nyuma (Sogeza Nyuma) au mbele (Sogeza Mbele).

Kubinafsisha chaguzi za tabia na tabia

Hapo juu, tulitengeneza uhuishaji wa Frida anayekimbia, kwa kutumia tu fremu mbili, ambazo kwa kweli, mchoro sawa uliakisiwa kwa mlalo. Sasa tunahitaji kuhakikisha kwamba tunaweza kudhibiti harakati za heroine wetu kwa kutumia kipanya na keyboard, na pia ili yeye humenyuka vya kutosha kwa migongano na vikwazo kwamba sisi inayotolewa juu ya hatua.

Kwanza kabisa, hebu tuweke migongano. Ili kufanya hivyo, angalia mstari chini ya orodha ya tabo zilizo wazi na upate kitufe cha "Mgongano" hapo.

Kwa chaguo-msingi, eneo la mgongano ni mraba ulioainishwa kuzunguka ulimwengu mzima wa uhuishaji. Hiyo ni, tukio la mgongano litatokea kwenye eneo lote la kitu. Walakini, katika mazoezi, picha yetu mara nyingi huwa na vitu vya ziada (Frida's, kwa mfano, blaster), ambayo, kwa nadharia, haipaswi kuingiliana na chochote. Ni kwa msaada sehemu hii tunaweza kusanidi maeneo yote ya mgongano.

Kwanza, hebu tupunguze eneo karibu na Frida hadi saizi ya mwili wake tu. Hapa tunahitaji kuzingatia kwamba hatuwezi kusonga eneo hilo na panya, na kwa mipangilio tunatumia vigezo vinne vya nambari katika sehemu ya "Sura ya Sasa". Kwanza, tunaweka eneo la usawa la eneo (kutoka makali ya kushoto) na kukabiliana na wima (kutoka juu), na kisha tunataja upana mpya na urefu wa eneo la mgongano.

Chini kuna vigezo kadhaa zaidi, vilivyounganishwa kwenye sehemu ya "Mali ya Kimwili". Hapa tunakutana na kisanduku tiki cha "Je, Kihisi?". na dhana ya vikundi.

Ikiwa utawasha bendera ya "sensor", eneo lililochaguliwa litaacha kuwa kitu halisi: mhusika au sehemu yake itakuwa, kama ilivyokuwa, "wazi" kwa vizuizi kadhaa, lakini wakati huo huo itabaki na uwezo wa anzisha vitendo vyovyote chini ya hali fulani.

Mfano kutoka kwa maisha halisi inaweza kuwa mifumo ya kisasa ya kengele kwa kutumia lasers: hatuoni laser yenyewe, lakini ikiwa tunaigusa, mchakato wa taarifa huanza kwamba tumepanda mahali pabaya :).

Sasa, vikundi ni vya nini? Wacha tufikirie kuwa mhusika wetu hajashikilia blaster, lakini upanga, ambao yeye (au tuseme yeye:)) hukata maadui kwenye kabichi (kwa njia, katika msimbo wa chanzo Frida ana blade ya laser. ;)).

Kazi ni kwamba tunapomgusa adui kwa upanga, adui hufa, lakini ikiwa tutakosa na adui akampiga Frida, basi baadhi ya nguvu zake huondolewa. Na shida kuu hapa ni kwamba uhuishaji wetu wa mgomo, kwa kweli, ni picha ambayo Frida na upanga wapo kwa wakati mmoja ...

Ikiwa tutaambatisha kitendo cha upanga kwenye picha, basi yeyote atakayegusa shujaa wetu wakati wa kucheza uhuishaji atakufa kutokana na pigo. Na ilikuwa kwa usahihi ili kugawanya picha hiyo katika vitu kadhaa vilivyo na uwezo tofauti na vigezo ambavyo utaratibu wa kikundi uligunduliwa.

Kwa chaguo-msingi, tuna eneo moja tu ambalo linalingana na mhusika yenyewe ("Sawa na Aina ya Mwigizaji"). Hata hivyo, kwa kutumia zana za kuchora juu ya eneo kuu la kazi, tunaweza kuunda vitu vipya vya mtandaoni na kuweka kikundi kwa ajili yao kwa kutumia kitufe cha "Hariri Vikundi".

Hiyo labda ni kwa migongano, lakini sasa ninapendekeza kushughulikia jambo la msingi - kuanzisha tabia ya mwigizaji kwenye hatua. Ili kufanya hivyo, tunahitaji kwenda kwenye sehemu ya "Tabia":

Kwa chaguo-msingi, hakuna vitendo hapa mwanzoni, lakini tunaweza kuviongeza kwa kubofya kitufe cha "Ongeza Tabia" kwenye kona ya chini kushoto. Utaona orodha ya vitendaji vilivyo tayari kutumika vya kudhibiti mhusika wako au kuingiliana na waigizaji wengine jukwaani.

Kwa mfano, nilichagua tabia ya "8 Way Movement", ambayo inahusisha mwigizaji kusonga kwenye mduara kwa mwelekeo wowote. Sasa tunachagua hatua iliyoongezwa kwenye orodha upande wa kushoto na upande wa kulia tunaweza kusanidi vigezo vyake.

Kuongeza Waigizaji Jukwaani na Kupima Kiwango

Ikiwa ulifuata maagizo, basi unapaswa kuwa na rasilimali za chini zinazohitajika kwa mchezo. Kilichobaki ni kujifunza jinsi ya kuongeza waigizaji kwenye hatua na kujaribu utendakazi wa nafasi ya kucheza.

Tunarudi kwa mhariri wa eneo lililoundwa hapo awali na kuamsha tena Palette, lakini sasa badala ya vigae, tutawasha kichupo cha "Waigizaji". Tutaona orodha ya herufi zilizoundwa hapo awali ambazo tunaweza kuongeza kwenye tukio kwa kutumia zana ya Penseli:

Tuna mhusika mmoja pekee, kwa hivyo mbofyo mmoja tu na penseli inatosha kumuongeza kwenye tukio. Na sasa wakati wa ukweli umefika - mtihani wa kwanza! Ili kuanza mkusanyo wa awali wa mradi, bofya tu kitufe cha "Eneo la Jaribio" kwenye kona ya juu kulia ya kichupo na eneo letu. Baada ya muda fulani (mkusanyiko wa kwanza daima huchukua muda mrefu), tutaweza kupendeza kazi yetu katika kicheza flash:

Mbali na mchezaji mwenyewe na mchezo, kwa upande tunaonyesha dirisha la kumbukumbu za uendeshaji wa mchezo. Kwa msaada wao, tunaweza kupata haraka matatizo ya uendeshaji na kujaribu kurekebisha.

Kama tunavyoona, tunaweza tayari kusonga Frida kwa mwelekeo tofauti, lakini eneo lenyewe linabaki bila kusonga na mara tu shujaa wetu anapoenda zaidi ya ukingo wa sehemu inayoonekana ya hatua, yeye hupotea ... Matatizo :). Unaweza kutatua tatizo kwa kuongeza tabia ya "Fuata Kamera" kwa Frida au kuweka vigezo vinavyohitajika kwa msaada wa matukio.

Pia, itakuwa wazo nzuri kuchukua nafasi ya mshale wa kawaida na kitu kinachofaa zaidi, kwa mfano, kuona. Tunaweza kutekeleza hili kwa kuongeza mwigizaji mpya katika umbo la taswira, kuondoa eneo lake la mgongano na kuambatisha kwenye eneo kwa kutumia tabia ya kawaida ya "Kishale Kipanya Maalum":

Mfumo wa hafla katika Stencyl

Michezo rahisi katika Stencyl inaweza kuundwa kwa kutumia mienendo ya kawaida pekee (Tabia), hata hivyo, ikiwa tunahitaji kitu ambacho si cha kawaida, basi itatubidi tufikirie kuhusu kutumia matukio ambayo yamesanidiwa kwa waigizaji na matukio katika sehemu ya "Matukio":

Kwa kweli, Tabia pia zimejengwa kwa misingi ya matukio, lakini pia zina interface ya kuona, ambayo hurahisisha uhariri. Hapa tunashughulika moja kwa moja na vitalu vya kazi vinavyofanya vitendo fulani.

Dirisha la tukio limegawanywa katika sehemu tatu:

  1. Sehemu ya kushoto ina orodha ya matukio na vitufe vya kudhibiti (kuunda/kufuta/kusogeza). Ili kuongeza tukio, tunahitaji kubofya kitufe cha "Ongeza Tukio", kisha chagua kikundi unachotaka kwenye orodha ya kushuka na uonyeshe kazi maalum tunayohitaji. Upande wa kulia wa tukio lililoundwa kuna kisanduku cha kuteua kinachoturuhusu kuzima ikiwa ni lazima.
  2. Katika sehemu sahihi tuna orodha ya yote vitendo vinavyopatikana, iliyojumuishwa katika sehemu 10, ambayo kila moja imeamilishwa na kitufe kinacholingana. Kwa urahisi zaidi, vitendo katika kila sehemu vimepangwa katika vichupo vya mada na vina rangi yao ya kipekee. Kuna tabo tatu zaidi chini hapa. Kwa chaguo-msingi, kichupo cha "Palette" kinafanya kazi, ambapo orodha za vitendo ziko. Kichupo cha pili - "Sifa" - hutumika kuonyesha anuwai za ndani (zaidi kuzihusu hapa chini), na cha tatu - "Vipendwa" - hutumika kuonyesha vitendo ambavyo umechagua.
  3. Sehemu ya kati ni eneo la kazi. Hapa tunaunda mifano ya mwisho ya tabia ya wahusika kwa kutumia michanganyiko mbalimbali ya vizuizi vya vitendo na matukio ambayo vitendo hivi hutokea. Mchanganyiko hutokea kwa Drag rahisi na kuacha huzuia kwenye eneo la kazi na uhariri unaofuata wa vigezo vilivyoainishwa ndani yao. Inafaa kuzingatia kuwa kazi hiyo ina vizuizi tu ambavyo vimejumuishwa na kila mmoja na kujumuishwa kwenye kizuizi kikuu cha hafla hiyo. Kwa hivyo, ili kuondoa kwa muda mchanganyiko fulani usio wa lazima (lakini muhimu), tunahitaji tu kuwahamisha kutoka kwa muundo wa jumla hadi nafasi ya bure. Ikiwa vitendo vinageuka kuwa visivyohitajika kabisa kwa muda, basi vinaweza kufutwa kabisa kwa kuwahamisha kwenye takataka, ambayo iko katika sehemu ya juu ya kulia ya eneo la kazi.

Kwa kweli, tayari tumeelezea algorithm ya kuunda hafla, lakini, ole, siwezi kutoa mapendekezo yoyote ya ulimwengu - kwa kila mchezo matukio yatakuwa tofauti na kunaweza kuwa na mengi yao ... Kama mfano, unaweza kuangalia. kwenye msimbo wa chanzo wa mchezo kuhusu Frida, ambayo utapata kwenye kumbukumbu na programu, lakini hii ni mwongozo tu, kwani kufanya kazi kwenye matukio ni ubunifu wako binafsi :).

Kuanzisha fizikia na mali

Tayari tumeshughulikia mambo mengi, lakini hatujagusa mada zingine za ziada ambazo zinaweza kuwa muhimu sana wakati wa kuunda michezo - nazungumza juu ya kuweka kila aina ya sifa za waigizaji wetu na matukio. Tunahifadhi vigezo hivi katika mbili tabo za hivi karibuni. Na ya kwanza ni "Fizikia":

Kichupo cha mipangilio ya fizikia kinaonekana tofauti kwa matukio na waigizaji. Kwenye kichupo cha mipangilio ya fizikia ya eneo kuna vigezo viwili tu - kuweka mvuto wa usawa na wima. Kuonekana kwa sehemu ya kuweka vigezo vya kimwili vya watendaji huwasilishwa kwenye picha ya skrini hapo juu na ina tabo tano na chaguzi mbalimbali:

  1. Kichupo cha Jumla Hapa tuna vigezo vitatu: aina ya muigizaji (stationary, jukwaa (inaweza kusonga kulingana na sheria fulani, lakini haiwezi kuhamishwa na watendaji wengine) na kusonga), mzunguko wa muigizaji (unaweza kuzunguka au la) na athari ya mvuto. .
  2. Kichupo cha "Uzito". Kwenye kichupo hiki unaweza kusanidi wingi wa kitu cha kawaida na hali yake.
  3. Kichupo cha "Nyenzo" hukuruhusu kuweka sifa za mwigizaji ambazo zitaiga tabia ya kitu halisi kilichotengenezwa kutoka kwa nyenzo fulani. Tunayo fursa ya kuchagua moja ya mipangilio ya awali kutoka kwenye orodha kunjuzi ya "Vifaa vilivyowekwa" au kuweka kwa mikono sifa za msuguano na elasticity ya mwigizaji wetu.
  4. Kichupo cha "Damping" kinatupa fursa ya kurekebisha vizuri zaidi vigezo vya mwingiliano wa mwigizaji na mazingira kwa kuanzisha maadili kama vile mstari (kwa mfano, hewa) na upinzani wa angular (wakati wa mzunguko).
  5. Kichupo cha "Advanced" kinatupa ufikiaji wa anuwai mipangilio ya ziada, haijajumuishwa katika sehemu zilizopita. Hapa unaweza kuwezesha muundo wa fizikia uliorahisishwa (ili kuboresha mchezo), kutambua kiotomatiki maeneo ya mgongano, matukio ya kugongana tena na uwezo wa kusimamisha mwigizaji.

Tumepanga fizikia, na sasa hebu tuangalie sifa zinazoitwa kwa kubonyeza kitufe cha "Sifa":

Kama katika kesi ya awali, mali itakuwa tofauti kwa matukio na watendaji. Katika sifa za eneo tunaweza kutaja jina lake ("Jina"), vipimo (sehemu ya "Ukubwa") na rangi ya mandharinyuma ("Rangi ya Mandharinyuma").

Katika sifa za muigizaji, pamoja na jina, unaweza kuweka maelezo (uga wa "Maelezo") ya kitu, kikundi ambacho mwigizaji ni wa (sehemu ya "Chagua Kikundi") na safu ya uhuishaji kwa simu ya rununu. vifaa (sio lazima ubadilishe chochote hapa, kwani toleo la bure la programu hukuruhusu kuuza nje michezo kwa fomati za simu za rununu.

Lakini hii sio mipangilio yote ambayo inapatikana kwetu katika Stencyl. Mipangilio ya jumla ya mchezo inapatikana kwetu kwa kubofya kitufe cha "Mipangilio" kwenye upau wa vidhibiti kuu:

Katika dirisha la mipangilio, upande wa kushoto ni orodha ya makundi ya parameter, na upande wa kulia ni eneo kuu (wakati mwingine limegawanywa katika tabo kadhaa) zilizo na kila aina ya chaguzi. Hapa tunavutiwa na sehemu zifuatazo:

  1. "Mipangilio" Kundi la kwanza la mipangilio inayokuruhusu kubinafsisha mchezo wetu kidogo. Kikundi hiki kina vichupo vitatu. Kwenye ya kwanza yao ("Kuu") tunaweza kuupa mchezo jina jipya, maelezo mafupi, pamoja na picha ya onyesho la kukagua na ikoni. Kwenye kichupo cha "Onyesha" unaweza kusanidi saizi ya mwisho ya nafasi ya mchezo, na ya mwisho ("Advanced") unaweza kuwezesha fizikia iliyorahisishwa na kuweka vigezo vya kuzuia kutengwa.
  2. "Mpakiaji" Katika kikundi hiki tunaweza kwa sehemu (kwa kuzingatia mapungufu kadhaa ya toleo la bure) kubinafsisha mwonekano wa kipakiaji (kipakiaji), ambacho kitaonyeshwa hapo awali. imejaa kikamilifu michezo. Tayari kuna tabo nne hapa. Kwa kwanza ("Jumla" - jumla) unaweza kutaja kiunga cha wavuti yako, kuwezesha ulinzi dhidi ya kunakili mchezo kwenye rasilimali zingine (zilizotenganishwa na koma, tunaorodhesha orodha ya tovuti zinazoruhusiwa kwenye mstari wa pili) na moja ya bootloader. ngozi. Kwenye kichupo cha Kuonekana tunaweza kuweka rangi ya skrini ya bootloader na picha ya mandharinyuma. Kutumia kichupo cha "Mtindo wa Baa", unaweza kutaja vipimo vya ukanda wa bootloader, na "Rangi ya Mwamba" inakuwezesha kuweka rangi zake ipasavyo.
  3. "Sifa" Kundi hili la mipangilio ni mojawapo ya msingi zaidi! Hapa unaweza kudhibiti vigezo vya kimataifa vinavyotumika katika mchezo (zaidi kuhusu vigeu katika sehemu inayofuata hapa chini).
  4. "Vidhibiti" Kama jina linamaanisha, katika kikundi hiki tunaweza kusanidi upya na kuongeza vitufe vya kibodi ambavyo vitatumika kutekeleza vitendo fulani vya mchezo.
  5. "Vikundi" Tayari tumejadili utaratibu wa vikundi juu kidogo. Hapa tuna fursa ya kuona vikundi vyote vilivyoundwa na kuvihariri.

Kweli, haya ni mipangilio yote ambayo tutahitaji kuunda michezo ya flash katika toleo la bure la Stencyl. Lakini kwa kuwa sehemu hii inahusu mipangilio, itakuwa aibu bila kutaja vigezo vya programu yenyewe. Unaweza kuzifikia kwa kuwezesha kipengee cha "Mapendeleo" kwenye menyu ya "Faili":

Programu hutoa msaada kwa kiolesura cha lugha nyingi, hata hivyo, kwa sasa kuna ujanibishaji wa Kiingereza tu, kwa hivyo tulienda moja kwa moja kwenye kichupo cha pili - "Nafasi ya kazi". Ukweli ni kwamba katika toleo la tatu la Stencyl kazi ilionekana kizazi kiotomatiki picha zinazobadilika kutoka kwa sprites zilizopakuliwa.

Na kwa chaguo-msingi, sprite ni mara mbili, ambayo inahusisha kuzorota kwa ubora wa graphics. Ili kuzuia hili kutokea, nakushauri kulemaza ukubwa wa picha kwa kuchagua "Standard (1x)" kwenye uwanja wa "Scale".

Pia nakushauri uangalie kichupo cha tatu - "Wahariri". Hapa unaweza kuhusisha vitendo vya michoro, sauti na maandishi na wahariri wa nje, wa hali ya juu zaidi (kuliko Stencyl iliyojengwa ndani).

Kidogo kuhusu vigezo

Tumeangalia karibu nuances yote ya kufanya kazi katika Stencyl, lakini hatujagusa moja ya vipengele vya nguvu zaidi - kufanya kazi na vigezo.

Vigezo katika lugha yoyote ya programu hukuruhusu kufanya kazi na matukio anuwai, ukiyaelezea kupitia nambari fulani(vigezo vya nambari), hali (vigezo vya boolean), maandishi (vigezo vya kamba), nk. Kipengele kikuu cha vigeu ni uwezo wa kubadilisha thamani yoyote ndani ya mfumo ulioamuliwa mapema. Mfano rahisi wa kigezo: kichunguzi cha darasani. Leo inaweza kuwa Ivanov, kesho Petrov, na siku inayofuata kesho Sidorov :).

Kwa upande wetu, tofauti ya "afisa wa wajibu" inaweza kuchukua moja ya maadili matatu, ambayo yatabadilishwa kiotomatiki kulingana na hali fulani (kwa mfano, utaratibu wa majina katika orodha).

Katika Stencyl, vigezo vinaweza kuwa vya kawaida au vya kimataifa. Tunaweza kutangaza vigeu vya ndani kama sehemu ya tukio au tabia fulani, na vitafanyia kazi pekee vitendo vilivyobainishwa. Unaweza kuunda kibadilishaji cha ndani katika kihariri cha tukio kwa kupiga sehemu ya "Sifa":

Hapa tuna tabo kadhaa:

  1. Kichupo cha "Getters" kinakuwezesha kuweka vigezo ambavyo vitapokea thamani kutoka kwa mahesabu yoyote au maagizo ya moja kwa moja.
  2. Kichupo cha "Seti" hukuruhusu kuweka maadili yoyote kwa anuwai iliyoundwa hapo awali.
  3. Kichupo cha "Sifa za Michezo" huhifadhi vijikaratasi vya kimataifa na, ikihitajika, hukuruhusu kuongeza vipya (ingawa tutaangalia jinsi ya kufanya hili vyema zaidi hapa chini).
  4. Kichupo cha "Orodha" kinatupa uwezo wa kuunda safu za data.
  5. Kichupo cha Kazi hutumika kupanga vitendaji vilivyoundwa.

Algorithm ya kuunda muundo wa ndani ni rahisi: kwanza, tunaunda kizuizi kipya kwenye kichupo cha "Getters", na kisha pata kibadilishaji kipya kwenye kichupo cha "Setters" na ongeza kizuizi nacho kwenye nafasi ya kazi, ukilinganisha na. parameta fulani ya mchezo. Hiyo ndiyo yote - kutofautisha kumetangazwa na kupokea seti ya maadili halali.

Vigezo vya kimataifa (Sifa za Mchezo) katika Stencyl vimewekwa kwa ajili ya mchezo mzima na vinaweza kuitwa katika tukio au tabia yoyote. Kama ilivyoelezwa hapo juu, unaweza kuziunda katika sehemu ya "Sifa" kwenye kichupo cha "Sifa za Mchezo":

Walakini, ni rahisi zaidi kutazama na kudhibiti vigeu vyote vilivyoundwa kwa kutumia sehemu ya "Sifa" kwenye mipangilio (kitufe cha "Mipangilio" kwenye upau wa vidhibiti au "Onyesha Sifa za Mchezo" kwenye kichupo cha "Sifa za Mchezo" katika kihariri cha tukio) :

Hapa tuna orodha nzima ya vigezo vya kimataifa na uwezo wa kuunda mpya kwa kubofya kitufe cha "Unda Mpya". Kwa tofauti mpya, tunaweza kuweka mara moja aina (nambari, maandishi, Boolean au safu) na thamani ya kuanzia bila kuacha dirisha, ambayo ni rahisi sana kwa maoni yangu.

Kutumia vigezo vya kimataifa, ni rahisi sana kutekeleza vihesabu mbalimbali, kwa kuwa data ndani yao huhifadhiwa wakati mchezaji anahamia ngazi mpya na kuhifadhiwa kwenye kumbukumbu mradi tu mchezo wenyewe umewashwa. Ninapendekeza pia kutumia vigeu vya kimataifa kufuatilia uhuishaji unaochezwa.

Baada ya kumpa mwigizaji sifa maalum katika matukio, tunaweza kugawa thamani maalum kwa sprite hii katika kutofautiana hapa chini (kwa mfano, nambari ya mlolongo au jina la uhuishaji). Kwa hivyo, kwa kuhusisha kitendo na kigezo, tunaweza kuiita wakati wowote kwa kuweka thamani inayotakiwa kwa kigezo hiki.

Kuchapisha, kuagiza na kuuza nje michezo

Hatimaye, tumefahamiana, ingawa kwa ufupi, na kanuni za msingi za kufanya kazi na Stencyl. Wacha tuseme tumeunda mchezo, tukaujaribu na kila kitu kilifanya kazi. Sasa kilichobaki ni kugeuza mchezo kutoka kwa mradi hadi faili halisi ya SWF inayoweza kutumwa kwenye Mtandao. Ili kufanya hivyo, tunahitaji tu kufungua orodha ya "Chapisha" na bofya "Flash" katika orodha ya "Mtandao".

Mkusanyiko wa faili ya mchezo utaanza, baada ya hapo utaulizwa wapi na chini ya jina gani kuhifadhi faili inayosababisha flash. Okoa na ndivyo - mchezo uko tayari :).

Mchakato wa kurudi nyuma utakuwa kuagiza mchezo. Shukrani kwa kazi ya kuagiza, unaweza kufungua miradi ya mchezo wa watumiaji wengine, kwa mfano, kuona jinsi walivyotekeleza hili au kazi hiyo;). Unaweza pia kuingiza mchezo kutoka kwa menyu ya "Faili". Ikiwa uagizaji umefanikiwa, mchezo utaonekana kwenye skrini kuu katika orodha ya miradi. Walakini, pango ndogo inafaa kufanywa hapa.

Shida ni kwamba Stencyl 3.0 mpya inaendana tu na miradi iliyoundwa zamani matoleo ya awali, kwa hivyo utendakazi wa mradi wa mchezo ulioingiza unaweza kuwa haujakamilika au, katika hali mbaya zaidi, mchezo hautaanza kabisa, ukitoa hitilafu. Utakuwa na chaguzi chache - ama utafute na urekebishe makosa, au ukubali na uache kila kitu kama kilivyo :).

Faida na hasara za programu

  • urahisi wa kuunda michezo bila ujuzi wa programu;
  • uwezo wa kuunda michezo ya karibu aina yoyote;
  • mkusanyiko mkubwa wa tabia zilizopangwa tayari na rasilimali za mchezo;
  • uwezo wa kubadilishana miradi ya mchezo;
  • Hakuna vikwazo wakati wa kuunda michezo ya flash.
  • nguvu ya juu ya rasilimali ya programu yenyewe na michezo iliyoundwa;
  • idadi ndogo ya vitu kwenye hatua - zaidi, polepole mchezo unaendesha (hadi hatua ya kukataa kuanza);
  • hakuna msaada kwa fonti za Cyrilli (unahitaji kuhariri picha za vekta za alfabeti ya Kilatini, ukibadilisha na herufi zinazohitajika);
  • utangamano usio kamili wa toleo jipya la programu na miradi ya mchezo iliyoundwa katika matoleo ya awali.

hitimisho

Kati ya programu zote za kuunda michezo ya flash iliyopo leo, Stencyl ndio maelewano ya busara zaidi kati ya urahisi wa kufanya kazi na upana wa uwezo. Habari njema ni kwamba utendakazi wa mbunifu katika toleo la bure hauna kikomo, ambayo hukuruhusu karibu kutambua wazo lolote.

Hata hivyo, usisahau kuhusu "karibu"... Ukweli ni kwamba Stencyl yenyewe inaendesha mashine ya JAVA, ambayo, kama unavyojua, inahitaji rasilimali kabisa. Ikiwa tunaongeza kwenye mzigo huu mzigo ambao mchezo huunda, inageuka kuwa kwa operesheni ya kawaida tunahitaji kompyuta ya kisasa, yenye nguvu.

Hii ni ya kwanza "karibu". Na ya pili ni kizuizi kisicho wazi juu ya idadi ya vitu kwenye hatua, ambayo nimekwisha kutaja katika kupita. Hata kama vitu hivi ni tiles tu, lakini kuna mengi yao, mchezo unaweza kutupa hitilafu wakati wa kupima na si kuanza mpaka kupunguza idadi yao.

Kwa muhtasari, tunaweza kusema kwamba Stencyl itakuwa injini bora ya kuunda kila aina ya michezo ya kawaida ya flash na michezo ya upigaji wa picha ya kando. Zaidi ya hayo, baada ya kufanya mazoezi ya kuunda michezo ya flash, unaweza kununua mojawapo ya aina za leseni na, kwa kubadilisha kidogo mitambo, weka mchezo wako kwenye miundo inayotumika na Android na iOS. Na hii ndiyo njia halisi ya kupata pesa kwa kuchapisha mchezo kwenye Soko la Google Play au Duka la Programu!

Hatimaye, kilichobaki ni kuwatakia kila la kheri wale wote wanaoamua kujihusisha kwa dhati katika maendeleo ya mchezo. Ruhusu algoriti zako zifanye kazi mara ya kwanza, na umruhusu mkusanyaji kukaa na kunyamaza unapozindua michezo yako :).

P.S. Ruhusa imetolewa kwa kunakili na kunukuu nakala hii kwa uhuru, mradi tu kiungo kinachotumika kwa chanzo kimeonyeshwa na uandishi wa Ruslan Tertyshny umehifadhiwa.

Upangaji wa Flash

programu ya kozi ya kuchaguliwa na mwongozo wa didactic kwa mwalimu na mwanafunzi

Mpango wa kozi. 1

1. Utangulizi: 1

2. Mada za kozi: 2

3. Fasihi: 2

Mwongozo wa Didactic kwa walimu na wanafunzi. 2

1. Utangulizi, dirisha la "vitendo vya sura". 2

2. Vigezo. 4

3. Mashamba ya I/O. 5

4. Opereta wa masharti. 8

5. Loops "na parameter" na loops "wakati". kumi na moja

7. Programu inayolenga kitu. 17

8. Mabadiliko ya programu ya mali. 19

9. Mizunguko ya sura tatu. Uhuishaji wa programu. 22

10. Mradi "Mchezo mwingiliano - Msururu wa Risasi". 24

Mpango wa kozi

1. Utangulizi:

Programu ya Macromedia Flash inashangaza na uwezo wake. Kando na zana za hali ya juu za kuchora na uhuishaji, Flash ina lugha ya programu ya Hati ya Kitendo iliyojengewa ndani. Kujua lugha hii hukuruhusu sio kuunda tu uhuishaji wa programu, Michezo ya Flash, na kurasa za wavuti shirikishi, lakini pia inatoa maarifa kuhusu teknolojia ya upangaji inayolenga kitu (hapa inajulikana kama OOP).

Licha ya ukweli kwamba waundaji wa Flash walijaribu kufanya programu iwe rahisi hata kwa mtumiaji ambaye hajafunzwa, ujuzi wa zana hizi unahitaji muda mwingi. Kozi hii ni ya kuchagua; wanafunzi huichagua ili kufanya chaguo sahihi zaidi la kuu katika shule ya upili. Utafiti wa kina wa programu na utekelezaji wa miradi mikubwa inaweza kuwa kazi ya kozi maalum (kwa mfano, "Programu za Wavuti", "Muundo wa Wavuti", "Programu inayolenga kitu", nk), pamoja na masomo ya kujitegemea. Kozi ya Flash Programming inakusudiwa wanafunzi wa darasa la 9 ambao tayari wanafahamu uhuishaji wa Flash na misingi ya utayarishaji. Kama sehemu ya kozi ya uchaguzi, inawezekana kabisa kujua misingi ya programu, teknolojia ya OOP, na kutekeleza miradi rahisi katika Flash. Kozi hiyo inajumuisha miradi 8, ikijumuisha mradi wa kikokotoo cha Flash na mradi wa mchezo shirikishi. Kozi hiyo ina mwongozo wa didactic kwa walimu na wanafunzi.

Kusudi la kozi:

Kuvutia wanafunzi, kuonyesha uwezekano wa kisasa programu kuunda maombi maingiliano; kuanzisha misingi ya programu inayolenga kitu; Kukuza maarifa yako ya Macromedia Flash.

Lengo la kozi:

Kuanzisha teknolojia ya programu inayolenga kitu; onyesha matumizi ya Action Script kuunda programu wasilianifu; unda miradi miwili: kikokotoo cha Flash na mchezo shirikishi wa matunzio ya upigaji risasi.

Mahitaji ya maarifa ya mwanafunzi:

Ili kukamilisha kozi hii kwa ufanisi, wanafunzi lazima wawe na ujuzi wa kimsingi wa Flash: kuunda picha rahisi, kufanya kazi na alama za maktaba, kuelewa viunzi muhimu, uhuishaji wa Flash, vitendo vya msingi katika Hati ya Kitendo.

Ili kukamilisha kozi hii kwa mafanikio, wanafunzi lazima wawe na ujuzi wa kimsingi wa upangaji: dhana kuu kama vile algoriti, programu, kutofautisha, na kujua miundo msingi ya algorithmic.

Mahitaji ya Kompyuta:

Kompyuta iliyo na Macromedia Flash MX (au toleo jipya zaidi) imesakinishwa.

Kozi "programu ya Flash" imeundwa kwa masaa 12.

2. Mada za kozi:

Masomo

idadi ya saa

Rudia Flash.

Sehemu za I/O, miundo ya algorithmic

aina za shamba (tuli, nguvu, pato); tamko la vigezo, tabia na vigezo vya nambari, kuongeza msimbo kwa kifungo, taarifa ya masharti, kitanzi na parameter, wakati kitanzi, utekelezaji wao katika Flash.

kazi za kawaida: kuhesabu gharama ya ndege, kutatua equation ya quadratic, ufafanuzi, kutafuta kipengele cha mfululizo wa jumla ya mfululizo.

mradi: Kikokotoo cha Flash

Dhana za kimsingi za OOP

kitu, mali, mbinu, tukio

Mabadiliko ya programu ya mali. Uhuishaji wa programu.

mali zinazoweza kubadilika; uundaji wa alama, majina yao; kubadilisha sifa za tabia, vipengele vya utekelezaji wa msimbo wa programu katika Flash, mizunguko ya sura tatu.

Kazi za kawaida: kuunda kitu chenye sifa zinazoweza kubadilika (kubonyeza vitufe vinavyofaa). kuunda kitu kinachosonga.

mradi: Interactive mchezo Risasi mbalimbali.

3. Fasihi:

Beluntsov V. Macromedia Flash: Uhuishaji kwenye Mtandao. "DESS Com", Moscow 2001. Vifaa vya Flash MX 2004 kutoka kwa tovuti www. *****

Mwongozo wa didactic kwa mwalimu na mwanafunzi

1. Utangulizi, Palette ya hatua

Macromedia Flash ina lugha yake ya programu, Hati ya Kitendo. Inakuruhusu kufanya video za Flash kuingiliana. Uwezo wa lugha ni kubwa kabisa, ambayo hukuruhusu kuunda programu kubwa. Hati ya Kitendo si lugha ya programu inayojitegemea. Ni seti ya maandishi - vipande vya msimbo ambavyo "huishi" ndani ya sinema ya Flash pekee, ambayo, hata hivyo, haiingilii uundaji wa programu kamili.

Unahitaji kukumbuka kuwa Action Script ni lugha inayoendeshwa na tukio, yaani, hati itatekelezwa tukio linapotokea. Tukio kama hilo linaweza kuwa wakati sura fulani ya ufunguo inafikiwa, kwa mfano, kwenye sura ya mwisho tunaongeza amri ya kuacha (). Licha ya ukweli kwamba hii ni amri moja tu, hii ni hati kamili ambayo itatekelezwa wakati sura ya mwisho itafikiwa - video itaacha. Tukio lingine linaweza kuwa kubofya kipanya kitufe cha skrini au kubonyeza kitufe cha kibodi.

Ili kuongeza msimbo wa programu, unahitaji kuchagua fremu muhimu ambayo ungependa kuongeza hati (au kuangazia uundaji. kifungo hiki) na bonyeza kitufe cha F9 (Mchoro 1).

Mchele. Paneli 1 ya vitendo.

Hebu tuangalie vipengele kuu vya dirisha la Hatua. Upande wa kushoto wa dirisha unachukuliwa na orodha ya amri ambazo unaweza kuchagua kwa kubofya mara mbili juu yao na kifungo cha kushoto cha mouse. Amri zote, na kuna nyingi kabisa, zimeunganishwa katika vitalu kumi na mbili "Kazi ya Ulimwenguni", "Mali ya Ulimwenguni", nk. Baada ya kubofya, amri huhamishiwa upande wa kulia wa dirisha. Ina msimbo wa programu. Unaweza kufuta amri zisizo za lazima (Futa ufunguo) au kusonga juu na chini kwenye hati kwa kutumia vitufe vya mshale au kutumia vifungo. Bila shaka, amri ya kuhamishwa au kufutwa lazima kwanza iangaziwa. Sehemu ya chini ya dirisha imepewa vigezo vinavyoweza kubadilika kila timu maalum. Kwa mfano, katika gotoAndPlay() amri ya mpito unahitaji kuashiria ni fremu gani ya kwenda unapofikia mstari huu. Ili kufanya hivyo, unahitaji kuingiza nambari ya sura inayohitajika kwenye mabano.

Wakati wa kuandika msimbo wa programu, ni rahisi zaidi na kwa haraka kuandika msimbo kwa mikono. Ni muhimu kukumbuka kuwa lugha ya ActionScript ni nyeti kwa herufi katika amri unazoandika. Hii ina maana kwamba amri ya GoToandPlay() itakuwa si sahihi.

Inabakia kuongeza kwamba ili kuendesha msimbo na kutazama matokeo, unahitaji kuingiza hali ya kutazama video, ili kufanya hivyo, bonyeza mchanganyiko wa Ctrl-Ingiza.

Kagua maswali:

Hati ni nini? Ni matukio gani huanzisha utekelezaji wa msimbo katika Flash? Je, ninawezaje kuleta ubao wa Kitendo? Je, ubao wa Kitendo unajumuisha vipengele gani? Jinsi ya kuunda faili inayoweza kuzinduliwa kutoka kwa sinema ya Flash?

2. Vigezo

Moja ya dhana ya msingi ya lugha yoyote ya programu ni kutofautiana. Inachukuliwa kuwa msomaji anafahamu dhana ya kutofautisha, kwa hivyo hebu tuangalie jinsi inavyotekelezwa katika Flash.

Wacha tuseme tunataka kuongeza nambari mbili. Ili kufanya operesheni hii rahisi ya hesabu, tengeneza kitufe kwenye sura ya ufunguo wa kwanza: chora mstatili, fanya maelezo mafupi, kisha ubadilishe picha inayosababisha kuwa ishara (ingiza menyu - badilisha kuwa ishara, usisahau kuweka tabia ya ishara - kifungo). Kama matokeo, kitu kimeonekana ambacho kinaweza kujibu kwa kubofya kipanya; hii inaweza kuthibitishwa kwa urahisi kwa kuingiza modi ya kutazama video.

Nambari ya kwanza itahifadhiwa katika mabadiliko ya x1, na ya pili katika mabadiliko ya x2. Acha matokeo yahifadhiwe chini ya summa ya jina na kuonyeshwa kwenye skrini. Ili kutengeneza sehemu ya pato (zaidi juu ya hili katika somo linalofuata), bofya kwenye zana ya maandishi na uitumie kuchagua eneo la skrini - sehemu ya maandishi ya baadaye. Kisha nenda kwenye paneli ya Alama inayoelea (dirisha la menyu - paneli - ishara) na kwenye kichupo cha Chaguzi za Maandishi ubadilishe aina ya sehemu ya maandishi Nakala ya Stutic hadi Maandishi ya Dimamic (Mchoro 2). Hakikisha umeipa sehemu hii Kigezo - muhtasari. Pia, ili kufanya sehemu ionekane kwenye skrini, angalia kisanduku cha kuteua cha fremu/chinichini.

Mchele. 2 Unda sehemu inayobadilika ili kuonyesha thamani.

Sasa hebu tulinganishe msimbo na kifungo tulichofanya. Chagua kitufe na ubonyeze F9.

Katika sehemu ya kushoto ya dirisha, chagua Operesheni - Weka kizuizi cha Kubadilika. Chini ya dirisha tunaweka vigezo: kutofautiana - x1, thamani ya 5. Tafadhali kumbuka kuwa karibu na shamba la thamani kuna kujieleza kwa parameter ya kugeuza. Lazima ichaguliwe, vinginevyo variable x1 itahifadhi nambari 5 na ishara. Hivi ndivyo aina ya kutofautisha imewekwa. Kama unavyoelewa, katika AS kuna aina mbili tu za anuwai, nambari na kamba, elezea aina mapema, kama ilivyo kawaida katika lugha ya Turbo Pascal. Fanya vitendo sawa kwa kutofautiana kwa pili, kwa mtiririko huo, jina lake ni x2, na thamani ni 8. Tunapaswa tu kuongeza mstari wa tatu - kuweka kutofautiana kwa tatu, jina lake: summa (sawa na jina la shamba la pato) , thamani: x1 + x2, bila shaka, usemi wa kipengele uliochaguliwa.

Kwa matokeo ya shughuli hizi, upande wa kulia una msimbo ulioonyeshwa kwenye takwimu (Mchoro 3). Tafadhali kumbuka kuwa kila amri imetenganishwa na semicolon; Flash hufanya hivi kiotomatiki. Kwanza kuna amri ya (kutolewa), inaonyesha kwamba msimbo huu utaanza kutekelezwa wakati ufunguo wa panya utatolewa kutoka kwa kifungo. Kwa kuwa msimbo huu unahusishwa na kifungo cha skrini, amri hii inaongezwa moja kwa moja. Baada ya hayo, katika braces curly inakuja msimbo ambao unapaswa kutekelezwa wakati tukio linatokea.

Ni hayo tu! Ikiwa ulifanya kila kitu kwa usahihi, basi kwa kwenda kwenye hali ya kutazama video na kubofya kifungo chako, nambari ya 13 inaonekana kwenye uwanja wa pato.

Kagua maswali:

Jinsi ya kuweka jina la kutofautisha ili kuonyesha maandishi au habari ya nambari? Ni aina gani za vigeu vinavyotumika katika Flash? Jinsi ya kuonyesha kuwa tofauti iliyoundwa ni nambari? Jinsi ya kuunda kitufe kwenye Flash na kuongeza nambari yake? Amri ya (kutolewa) mwanzoni mwa hati inamaanisha nini?

3. Mashamba ya I/O

Kujifunza lugha mpya ya programu huanza na programu za kuandika ambazo maadili ya awali yanaingizwa, kisha mabadiliko fulani ya hesabu hutokea nao na matokeo yanaonyeshwa kwenye skrini. Flash hutumia sehemu za maandishi ili kuonyesha maandishi kwenye skrini. Ili kuunda uwanja wa maandishi, unahitaji kuchagua chombo cha Maandishi (kwenye upau wa zana) na kwa kuweka kozi mahali ambapo unataka kuongeza maandishi, "huchora" kizuizi cha maandishi (Mchoro 4).

Mchele. 4 Unda uga wa maandishi.

Kama matokeo, una uwanja wa maandishi tuli ambao unaweza kuandika maandishi yoyote. Kuna aina tatu za sehemu za maandishi: sehemu za tuli, zenye nguvu na za pato. Aina ya shamba imewekwa kwa kutumia kichupo cha "vigezo", paneli ya alama (angalia sura iliyotangulia). Wacha tuangalie madhumuni na mipangilio ya kila uwanja kwa undani zaidi:

Sehemu tuli inatumika kuonyesha lebo kwenye eneo la Flash. Kama jina linavyopendekeza, uga huu hauwezi kubadilishwa kiprogramu. Yote ambayo inapatikana kwako ni kuweka font, ukubwa, rangi, nk Wakati wa kuandika, uwanja huu utapanua moja kwa moja, kuonyesha maandishi yaliyoingia katika mistari kadhaa. Katika kesi hii, upana wa uwanja wa maandishi utabaki moja uliyoweka wakati wa "kuchora" kizuizi cha maandishi. Ili kuibadilisha, unahitaji kuchagua kizuizi na zana ya maandishi na usonge alama ya juu ya kulia ya kizuizi cha maandishi.

Kielelezo cha 5

Sehemu inayobadilika inatumiwa kuunda sehemu za kutoa ambapo maelezo yanaweza kusasishwa kadiri video yako inavyoendelea. Ili kufikia kizuizi cha maandishi kwa utaratibu, lazima iwe na jina, ambalo linatajwa kwenye uwanja wa "variable" (Mchoro 5). Ninakushauri utumie herufi za Kilatini tu kama majina tofauti, bila nafasi. Katika dirisha sawa, unaweza kuwezesha Mali ya Mpaka/Usuli. Sasa sura itaonekana kwenye karatasi ambayo maandishi yaliyoonyeshwa yataonekana, hii ni rahisi sana. Sanduku la mseto, lenye Mstari Mmoja uliochaguliwa kwa chaguo-msingi, hukuruhusu kubainisha ikiwa maandishi yataonyeshwa kwenye mstari mmoja au katika kadhaa (Thamani ya MultiLine). Swichi "inayoweza kuchaguliwa", iliyowezeshwa kwa chaguo-msingi, huamua ikiwa mtumiaji anaweza kuchagua thamani kutoka kwa sehemu fulani, kwa mfano, ili kuzinakili kwenye ubao wa kunakili. Kama vile kwa uga wowote, unaweza kuweka vigezo vya maandishi: fonti, saizi, rangi, n.k. Ukiandika maandishi yoyote katika sehemu hii, yataonyeshwa hadi programu ibadilishe thamani yake.

Sehemu ya ingizo au Maandishi ya Kuingiza hutumika kuingiza thamani kutoka kwenye kibodi. Dirisha la vigezo vya sehemu ya pembejeo inaonekana sawa na dirisha lililojadiliwa hapo juu. Kigezo kuu hapa pia ni uwanja wa "variable". Unabainisha chini ya jina gani data iliyoingizwa na mtumiaji itarekodiwa.

Kielelezo cha 6

Kuelewa madhumuni ya mashamba ya maandishi, unaweza kufanya mradi unaofuata. "Gharama ya tikiti ya ndege ya watu wazima, pamoja na idadi ya watu wazima na watoto wanaosafiri kwa ndege, huingizwa kwenye kompyuta. Unapobofya kitufe kinachofaa, kompyuta huhesabu gharama ya tikiti ya mtoto (50% ya gharama ya mtu mzima) na jumla ya gharama ya safari ya ndege." Tazama muonekano wa programu (Mchoro 6). Kama unavyoona kwa urahisi katika kazi hii, maadili yanaingizwa na matokeo hutolewa; nambari zote lazima zitekelezwe wakati kitufe kinapobonyeza, na kwa hivyo lazima ihusishwe na kitufe hiki.

Kuanza, unda sehemu tano za maandishi tuli na uzijaze na maandishi yanayofaa.

Unda sehemu tatu za ingizo, toa vigeu kwa kila sehemu majina ya kipekee, kwa mfano: stv (bei ya tikiti ya watu wazima), kolv (idadi ya watu wazima) na kold (idadi ya watoto).

Unda sehemu mbili zinazobadilika, toa vigeu kwa kila sehemu majina ya kipekee, kwa mfano: std (bei ya tikiti ya watoto) na itog (jumla ya kiasi cha safari ya ndege).

Tengeneza vitufe viwili "hesabu ya gharama ya ndege" na "wazi sehemu"

Kwa kitufe cha kwanza, ongeza nambari ifuatayo (kifungo, kitufe cha kulia - shughuli):

ikiwa (stv==null) (

ikiwa (kolv==null) (

ikiwa (kold==null) (

itog = stv * kolv + std * kold;

Mstari wa mwisho hukokotoa gharama ya tikiti ya mtoto (nusu ya gharama ya mtu mzima) na kuandika thamani hii kwa kigezo cha std (jina la sehemu inayolingana ya towe). KATIKA mstari wa mwisho jumla ya jumla imehesabiwa (itog ya kutofautiana), na thamani yake imeingia kwenye uwanja wa pato unaofanana.

Kimsingi, iliwezekana kupita na mistari hii miwili ya nambari. Lakini kwa kuwa mtu ambaye atafanya kazi na mpango huu si lazima aingie nambari ya sifuri ikiwa watoto hawajahusika katika kukimbia. Hii ina maana kwamba gharama ya tikiti ya mtoto (thamani ya nambari) itazidishwa na thamani tupu (thamani ya mfuatano). Matokeo ya "kuzidisha" hii itakuwa ujumbe wa makosa katika uga wa pato unaolingana. Ili kuzuia hili, kompyuta hukagua ikiwa sehemu ya ingizo haina kitu (kold==null) na, ikiwa ni hivyo, inapeana thamani sawa na sifuri kwa kutofautisha kold. Ujenzi huu unaitwa operator wa masharti. Soma zaidi kuhusu yeye katika mada inayofuata. Ikiwa bado ni vigumu kwako kufanya kazi na masharti, unaweza kuwaacha, lakini usisahau, haipaswi kuwa na mashamba tupu!

Ili kukamilisha mradi, tutaongeza nambari inayofaa kwa kitufe cha "uga wazi":

Kama unavyoona, unapobofya kitufe hiki, kila kigeuzi, na kwa hivyo uwanja wa I/O, utapewa dhamana tupu (hakuna chochote kati ya alama mbili za nukuu).

Kagua maswali:

Ni aina gani za visanduku vya maandishi hutumika katika Flash? Je, sehemu ya maandishi inayobadilika ina vigezo gani vinavyoweza kubadilika? Ni aina gani ya uwanja inatumika kuingiza maadili kutoka kwa kibodi? Eleza maana ya mstari ufuatao wa msimbo: itog = stv * kolv + std * kold;? Kwa nini mwendeshaji wa masharti anatumika katika mradi ulioelezewa?

4. Opereta wa masharti

Nambari ya programu ambayo tuliangalia hapo awali ni ya mstari. Kila amri inatekelezwa tu baada ya hatua ya awali kukamilika. Katika maisha, kila kitu ni ngumu zaidi. Tunafungua mwavuli mvua ikinyesha, kufurahi ikiwa tutafikia lengo letu, na kuhesabu mizizi ya mlingano wa quadratic ikiwa kibaguzi ni kikubwa kuliko sifuri. Katika visa vyote hapo juu, tunatenda kwa njia moja au nyingine. Ili kutekeleza hali kama hizi, lugha zote za programu hutoa opereta wa tawi au mwendeshaji wa masharti. Hati ya Kitendo sio ubaguzi.

Kielelezo cha 7

Opereta ya masharti inaitwa kwa kubofya Operesheni - Ikiwa amri (Mchoro 7). Muundo ufuatao unaonekana upande wa kulia wa dirisha:

kama (<Не установлено>) {

Badala ya<не установлено>lazima uandike operesheni ya kulinganisha, ukiandika kwenye uwanja wa "Hali". Mfano wa hali kama hiyo inaweza kuwa z<10, (переменная z меньше десяти).

Wacha tuangalie shughuli za kimsingi za kulinganisha:

> chini;

< больше;

>= kubwa kuliko au sawa na;

<= меньше либо равно;

Sawa (kumbuka ishara mbili sawa);

Sio sawa (kumbuka kuwa alama ya mshangao inamaanisha kukataliwa kwa mwendeshaji wa kulinganisha anayeifuata).

Mara nyingi, masharti kadhaa lazima yatimizwe wakati huo huo. Kwa hili, shughuli za Boolean (mantiki) hutumiwa:

&& au na – mantiki NA;

| au au - kimantiki AU;

Au sio - mantiki HAPANA.

Kwa mfano, hali (a == 10) && (z > 5) itakuwa kweli tu wakati kigezo a kitakuwa sawa na kumi na wakati huo huo kigezo z ni kikubwa kuliko tano.

Hali ni swali ambalo kunaweza kuwa na majibu mawili tu, "ndio" na "hapana." Ikiwa hali hiyo ni kweli, basi vitendo vilivyofungwa katika braces curly vinafanywa.

Ikiwa tunahitaji kuongeza kikundi cha amri ambazo zinapaswa kutekelezwa wakati hali ni ya uwongo, unahitaji kuongeza Operesheni - Vinginevyo. Kisha kipande cha nambari kitaonekana kama:

kama (<Не установлено>){

Ili kuongeza amri, lazima uweke mshale juu ya mstari ambapo amri inapaswa kuonekana. Unachotakiwa kufanya ni kuchagua amri sahihi kwenye kizuizi kinacholingana na ubofye juu yake na panya.

Kielelezo cha 8

Hebu fikiria jinsi kanuni zilizoelezwa zinatekelezwa ili kutatua tatizo la classical la kupata mizizi ya equation ya quadratic. "Nambari tatu zimeingizwa kwenye kompyuta - vigezo vya equation ya quadratic ax2 + bx + c = 0. Kulingana na data iliyoingia, kompyuta huamua ni mizizi ngapi equation hii ina, inahesabu na kuonyesha matokeo kwenye skrini. Mtazamo wa takriban wa dirisha la programu unawasilishwa (Mchoro 8).

Ili kukamilisha mradi huu:

Unda sehemu tatu za ingizo katika fremu ya kwanza kwenye eneo kuu na uzipe majina yanayofaa: a, b, c. Fanya mipaka yao ionekane.

Unda baadhi ya sehemu za maandishi tuli ili kuweka alama kwenye sehemu za I/O: x2, =0, kibaguzi, n.k.

Unda sehemu nne za maandishi zinazobadilika: d - kibaguzi, r - suluhisho, x1 - thamani ya mzizi wa kwanza, x2 - thamani ya mzizi wa pili.

Unda vifungo viwili "suluhisha equation" na "wazi".

Kwa kitufe cha kwanza cha "suluhisha equation", ongeza nambari ifuatayo ya programu, maandishi yaliyowekwa alama ya apostrophe - maoni, sio lazima kuiingiza:

ikiwa (a == null) (

ikiwa (b == null) (

ikiwa (c == null) (

' taarifa tatu za masharti za kwanza angalia ikiwa sehemu a, b, c hazina tupu,

' ikiwa ni hivyo, wanawapa maadili ya nambari sawa na sifuri

' kibaguzi (kigeu d) kinakokotolewa.

r = "hakuna mizizi";

' ikiwa sharti limetimizwa, kibaguzi ni chini ya sifuri tofauti d

' inachukua thamani ya maandishi inayolingana

) vinginevyo ikiwa (d == 0) (

r = "mzizi mmoja";

x1 = (-b)/(2*a);

x2 = (-b)/(2*a);

' Amri ya Uendeshaji inatumiwa - Vinginevyo Ikiwa. Shukrani kwake, zifuatazo

' hatua huanza na kuangalia hali. Ikiwa ni kweli - ubaguzi

' ni sawa na sifuri, mahesabu sawa yanafanywa, vigezo vinavyohusiana

' na sehemu za maandishi chukua maadili yanayolingana

r = "nafaka mbili" + Chr (255);

' mstari wa ajabu zaidi. Inahitajika kwamba uandishi "mizizi miwili" ionyeshwa,

' lakini hatukuwa na bahati na barua ya Kirusi ya. Flash inakubali msimbo huo

' inalingana na barua hii kama mapumziko ya mstari.

Kwa kusudi hili, thamani ya herufi 255 huongezwa kwa mfuatano wa maandishi. Hii

'kitendo - muunganisho wa wawili mistari ya maandishi inayoitwa concatenation.

kd = Hisabati. sqrt(d);

x1 = (-b+kd)/(2*a);

x2 = (-b-kd)/(2*a);

' Amri ya Hisabati ilitumika kukokotoa mzizi wa mraba. sqrt(d);

' kuiita tumia amri ya Vitu - Hisabati - Sqrt

Tunachotakiwa kufanya ni kuongeza nambari ifuatayo kwa kitufe cha pili:

Inaonekana kwangu kuwa maoni sio lazima hapa. Mradi uko tayari. Ihifadhi, ijaribu.

Kagua maswali:

Muundo gani unafafanua taarifa ya masharti katika Flash? Kuna tofauti gani kati ya ujenzi: ikiwa (<Не установлено>)() mwingine() na ikiwa (<Не установлено>))? Je, unawekaje ukanushaji katika Flash? Operesheni za Boolean ni nini na zimeandikwaje katika Flash? Kuna tofauti gani kati ya mistari: a=10 na a==10?

5. Vitanzi "na kigezo" na vitanzi "wakati"

Ili kufanya vitendo vya kurudia, lugha za programu hutumia miundo maalum inayoitwa waendeshaji wa kitanzi. Kuna miundo kadhaa kama hii ya mzunguko; tutazingatia zile mbili za kawaida: kitanzi cha "paramu" na kitanzi cha "wakati". Hebu tuangalie jinsi yanavyotekelezwa katika lugha ya Hati ya Kitendo.

Kitanzi "na parameter" hutumiwa wakati inajulikana mapema mara ngapi hatua fulani inahitaji kufanywa. Unaweza kuchora mlinganisho ufuatao - kuandaa supu unahitaji peel viazi sita. Ikiwa unaandika vitendo kwa njia ya algorithm ya mstari, utaona kwamba amri "chukua viazi", "peel ngozi", "safisha" itarudiwa mara sita. Ili kufanya algorithm iwe ngumu zaidi, na pia ili iweze kubadilishwa kwa urahisi katika siku zijazo, ni busara zaidi kuandika hii kwa namna ya kitanzi:

Rudia (mara 6) (

"chukua viazi";

"safisha ngozi";

"kuosha";

Hapa nambari sita ni paramu ya mzunguko, idadi ya marudio. Kilicho kwenye brashi za curly ni amri zinazoweza kurudiwa. Watanyongwa mara sita haswa.

Kielelezo cha 9

Ili kuunda kitanzi "na parameter" katika Flash, unahitaji kuchagua Uendeshaji - Kwa amri katika dirisha la Vitendo vya Fremu. Matokeo yake, muundo wa kitanzi utaonekana upande wa kulia wa skrini (Mchoro 9).

Kielelezo cha 10

Kwa kubuni hii, unahitaji kusanidi mashamba matatu. Awali - hapa unahitaji kuandika thamani ya awali ya kutofautiana fulani, pia inaitwa counter. Kwa mfano, i=1. Hali ni muda gani mabadiliko nitabadilika. Kwa mfano, i<=10. Следующий – с каким шагом изменяется переменная i. Если вы хотите, чтобы переменная каждый раз увеличивалась на единицу, то можно записать i++. В результате появляется конструкция:

kwa (i=1; i<=10; i++) {

Maana yake ni kama ifuatavyo: kutofautisha i kutachukua maadili kutoka moja hadi kumi na amri zilizoambatanishwa katika braces curly zitatekelezwa mara kumi. Tofauti i yenyewe inaweza kutumika katika mwili wa kitanzi, na miundo mingine ya algorithmic, taarifa za masharti, nk pia inaweza kutumika huko.

Wacha tuangalie jinsi muundo huu unatekelezwa katika shida inayofuata. "Unda programu inayokokotoa a kwa nguvu ya n (n ni thamani kamili). Thamani za a na n zimeingizwa katika sehemu zinazofaa. Muonekano wa programu unaonyeshwa kwenye Mchoro 10.

Unda sehemu moja inayobadilika na uiite an.

ikiwa (n<>0) {

' Shida inaeleweka ikiwa n > 0, hii inaangaliwa na taarifa ya masharti

kwa (i=2; i<=n; i++) {

’ Kwa kuwa katika mstari wa kwanza kigezo an tayari kimechukua thamani sawa na a, kwa hivyo thamani ya awali ya kaunta ni mbili.

Kwa kitufe cha "wazi", ongeza nambari ifuatayo:

Maoni yanaonekana kuwa sio lazima kwangu.

Mzunguko wa "wakati" hutumiwa wakati idadi ya marudio haijulikani mapema. Wacha tuendelee na mlinganisho - wakati watu wanachimba viazi, pia hufanya vitendo vinavyorudiwa: "chimba kichaka," "kusanya viazi," "viweke kwenye begi." Jambo ni kwamba hakuna mtu anayejua ni mara ngapi vitendo hivi vinahitajika kufanywa. Kwa hivyo, mzunguko huu unaweza kuandikwa kama ifuatavyo:

Wakati (kuna viazi?) fanya (

Kila wakati, baada ya kutekeleza seti maalum ya amri, ni muhimu kuangalia ikiwa hali imeridhika; ikiwa ni hivyo, basi mwili wa kitanzi unatekelezwa tena.

Kielelezo cha 11

Ili kuunda kitanzi cha "wakati" kwenye Flash, unahitaji kuchagua Uendeshaji - Wakati amri kwenye dirisha la kitendo cha fremu. Matokeo yake, muundo wa kitanzi utaonekana upande wa kulia wa skrini (Mchoro 11).

Kwa muundo huu, sehemu moja tu inahitaji kusanidiwa. Hali - chini ya hali gani kitanzi kinatekelezwa. Kwa mfano, y<10.

Tafadhali kumbuka kuwa ikiwa hali haijafikiwa mara ya kwanza kitanzi kinaitwa, basi kitanzi hakijatekelezwa kamwe. Pia, ni muhimu sana kwamba mabadiliko ya y wakati wa utekelezaji wa kitanzi, vinginevyo programu itafungua na kufungia. Ningependa pia kuvutia umakini wako kwa upekee wa kutekeleza msimbo wa programu katika Flash. Ukizunguka katika baadhi ya kipengele cha kitu au thamani ya sehemu inayobadilika, hutaona sifa hiyo au thamani hiyo ikibadilika haraka unapoiendesha. Flash itatekeleza hati nzima kwanza, na baada ya mwisho wa mzunguko ndipo itatoa upya skrini na kubadilisha sifa hii au thamani. Kuelewa kipengele hiki kutakuwa muhimu sana kwetu katika somo la tisa tunaposoma uhuishaji wa programu.

Kielelezo cha 12

Algorithm yoyote ambayo inaweza kuandikwa kwa kutumia kitanzi "na parameter" inaweza pia kuandikwa kwa kutumia kitanzi "wakati". Lakini kinyume chake si kweli. Kuna matatizo ambayo hayawezi kutatuliwa kwa njia nyingine kwa kutumia ujenzi wa "Wakati". Hebu fikiria tatizo hili. "Inajulikana kuwa msururu wa nambari 1, 1/2, 1/3 ... 1/n ni tofauti, hii inamaanisha kuwa jumla ya nambari kama hizo zinaweza kuzidi nambari yoyote A. Tafuta n vile kwamba jumla ya nambari mfululizo ni 1 + 1/2 + 1/3 + … + 1/n itakuwa kubwa kuliko nambari iliyotolewa A. Mwonekano wa programu umeonyeshwa kwenye Mchoro 12.”

Unda uwanja mmoja wa kuingiza data na uupe jina a.

Unda sehemu mbili zinazobadilika na uzipe majina n na s mtawalia.

Unda nambari inayohitajika ya saini tuli "a=", "n=", nk.

Unda vifungo viwili "hesabu" na "wazi".

Kwa kitufe cha "hesabu", ongeza nambari ifuatayo:

' Kwa kuwa katika kitanzi ni muhimu kuangalia hali s

wakati (s

Kwa kitufe cha "wazi", msimbo ni sawa na msimbo kutoka kwa kazi ya awali.

Licha ya ukweli kwamba kinadharia kwa A yoyote kuna thamani n, lakini kwa kweli hata kwa A=10, n=12367. Kwa maadili makubwa ya A, hesabu ya shida hii inaweza kuchukua dakika au masaa ...

Kagua maswali:

Kuna tofauti gani kati ya kitanzi "na parameter" na "wakati"?

Mzunguko gani ni wa ulimwengu wote zaidi?

"Counter" ni nini kwenye kitanzi "na parameta" na amri ya i++ inamaanisha nini?

Jinsi ya kuandika programu ambayo hufanya ufafanuzi kwa kutumia kitanzi cha muda?

Kwa nini programu inafungia wakati wa kutekeleza kitanzi cha "wakati"? Jinsi ya kuepuka hili?

6. Mradi "Kikokotoo cha Flash"

Ili kuona Action Script ikifanya kazi, hebu tufanye jambo linalofaa sana. Wacha tufanye kihesabu, mwonekano unaonyeshwa kwenye Mchoro 13.

Kielelezo cha 13

Lengo la mradi: Kuunda kikokotoo cha kawaida cha Mtandao chenye uwezo wa kufanya shughuli za kawaida za hesabu. Ili kuingiza maadili, tumia vibonye vya kipanya na kibodi ya kawaida.

Kwanza, unda sehemu inayobadilika ya pato na uipe jina kama maandishi. Pili, tengeneza nambari inayotakiwa ya vifungo kwa calculator yetu. Tatu, tuanze kufikiria.

Shida tatu zinangojea:

Shida ya kwanza ni kwamba unapoandika nambari ya kwanza, kila nambari huongezwa hadi mwisho wa nambari iliyochapishwa tayari, na baada ya kubonyeza kitufe na picha ya operesheni ya hesabu, nambari inayofuata imewekwa mwanzoni mwa mstari.

Tunapoingia nambari ya kwanza, kwa mfano 245, tunabonyeza vifungo 2, 4 na 5. Lakini kikokotoo kinajuaje kwamba tulipobonyeza kitufe cha 2 ni mia mbili na sio ishirini au elfu mbili? Kwa maneno mengine, unajuaje ni nambari gani ya kukumbuka katika kigezo cha kwanza?

Tatizo la tatu ni kwamba unahitaji kutumia angalau vigezo vitatu kwa nambari ya kwanza, ya pili na pia matokeo, lakini kuna sehemu moja tu ya nguvu na jina lake la kutofautiana!

220" height="52" bgcolor="white" style="vertical-align:top;background: white"> https://pandia.ru/text/78/159/images/image013_35.gif" width="12 " urefu="36">

Ili kutatua tatizo la kwanza, tunahitaji kutofautiana kwa ziada, hebu tuite stek. Kusudi lake ni kufuatilia hatua ya sasa. Wakati nambari ya kwanza inapoingia, thamani yake inapaswa kuwa, sema, moja. Kwa sasa wakati nambari ya pili ya nambari ya kwanza inapoanza kuingizwa, thamani ya kutofautisha inapaswa kuwa tayari, sema, mbili. Kwa sasa wakati nambari ya pili inapoanza kuingizwa, thamani ya kutofautisha inapaswa kuwa sawa na tatu. Wakati wa kuhesabu matokeo, kutofautisha kwa stek lazima tena kuchukua thamani sawa na moja ili matokeo yanaweza kuwa nambari ya kwanza kwa vitendo vifuatavyo.

Yote hii ina maana kwamba hatuwezi kupita na fremu moja tu muhimu. Inashauriwa kuunda sura muhimu kwenye safu mpya na kuweka thamani ya kutofautiana kwa stek ndani yake kwa moja. Katika sura ya pili muhimu, ongeza amri moja tu Vitendo vya Msingi - Acha. Hoja yaliyomo kwenye safu ya calculator, ambayo ina vifungo vyote, kwenye sura ya pili (Mchoro 14). Sasa, wakati programu inapoanza, kutofautiana kwa stek kunachukua thamani inayotakiwa, video inakwenda kwenye sura ya pili na kuacha. Hatua zote zaidi zitafanyika hapo.

Kielelezo cha 14

Ili kutatua tatizo la pili, thamani ya pembejeo lazima iwe maandishi! Unapobofya nambari, kwa mfano 1, herufi nyingine itaongezwa kwenye mfuatano wa maandishi unaojumuisha nambari

Naam, operator wa masharti na kutofautiana kwa stek itasaidia kuleta jambo hadi mwisho. Chini

msimbo uliopewa ufunguo 1 umewasilishwa. Kwa vifungo vingine vyote msimbo unafanana.

washa (toa, bonyeza "1") (

' pamoja na kawaida kwenye (kutolewa), uwezo wa kutumia kibodi umeongezwa. Bonyeza "1" inamaanisha kuwa nambari ifuatayo itatekelezwa sio tu unapobonyeza kitufe cha skrini, lakini pia unapobonyeza kitufe kwenye kibodi. Tazama Mchoro 15 jinsi ya kufanikisha hili.

’ Ikiwa kigezo cha stek ni sawa na kimoja, basi kigezo cha maandishi kinachohusishwa na sehemu inayobadilika ya pato kitachukua thamani sawa na moja, na kigezo cha stek kitakuwa sawa na mbili.

) vinginevyo ikiwa (stek==2) (

' Ikiwa mabadiliko ya stek ni mbili, basi moja sio nambari ya kwanza katika nambari, kwa hivyo inaongezwa kwa tofauti ya maandishi upande wa kulia.

) vinginevyo ikiwa (stek==3) (

' Ikiwa stek ya kutofautiana ni sawa na tatu, basi moja ni tarakimu ya kwanza katika nambari ya pili

Kielelezo cha 15

Tatizo la tatu linaweza kutatuliwa kwa urahisi kabisa. Tunahitaji kuhifadhi nambari zilizoingia katika vigezo vya kati. Wacha tuchambue nambari ya programu inayolingana na funguo za operesheni ya hesabu; wanatekelezea suluhisho la shida hii:

washa (toa, bonyeza "+") (

na msimbo wa programu unaofanana na ufunguo sawa.

washa (toa, bonyeza kitufe "=") (

maandishi = parseFloat(a)+parseFloat(maandishi);

) mwingine ikiwa (o=="m") (

maandishi = parseFloat(a)-parseFloat(maandishi);

) mwingine ikiwa (o=="u") (

maandishi = parseFloat(a)*parseFloat(maandishi);

) mwingine ikiwa (o=="d") (

maandishi = parseFloat(a)/parseFloat(maandishi);

Kila kitu kinapaswa kuwa wazi katika sehemu ya kwanza. Ikiwa kitufe cha kujumlisha kinasisitizwa, kigezo kingine cha o kinachukua thamani ya p (pamoja), na thamani ya maandishi ya kutofautiana huhifadhiwa katika kutofautiana kwa muda a. Na wakati ufunguo sawa hatimaye unasisitizwa, kompyuta lazima iongeze thamani iliyohifadhiwa katika maandishi ya kutofautiana na kutofautiana a. Kwa kuwa maadili ya maandishi yamehifadhiwa katika vigezo, ni muhimu kutumia kazi ya parseFloat (), ambayo inabadilisha usemi wa maandishi kuwa nambari. Ili kuiita, tumia amri ya Kazi - parseFloat.

Zindua mradi, ujaribu. Hii haimaanishi kuwa kihesabu kinachosababisha ni kamili. Haina vitendaji vya kawaida vya hisabati; kufanya vitendo kadhaa mfululizo, kila wakati unahitaji kubonyeza sawa. Lakini unaweza kufanya maboresho yote mwenyewe. Tulijifunza jambo kuu. Unda bidhaa rahisi za programu kwa kutumia Macromedia Flash.

Kagua maswali:

Ni matatizo gani tuliyokumbana nayo wakati wa kuunda kikokotoo? Kusudi la kutofautisha kwa stek ni nini? Kwa nini usemi wa maandishi unapaswa kuhifadhiwa katika kigezo wakati wa kubonyeza kitufe cha nambari? Madhumuni ya kazi ya parseFloat() ni nini? Pendekeza wazo la jinsi ya kufanya shughuli kadhaa za hesabu "mfululizo" bila kubonyeza kitufe cha "sawa" kati yao?

7. Programu inayolenga kitu.

Ikiwa unajua upangaji programu katika lugha kama Pascal au Msingi, basi labda umegundua kuwa upangaji programu katika Flash ni tofauti sana. Jambo ni kwamba Action Script iko karibu si kwa lugha za utayarishaji wa utaratibu, lakini kwa zile zenye mwelekeo wa kupinga, kama vile Visual Basic au Delphi.

Sitazingatia kwa undani ulinganisho wa lugha hizi, haswa kwa vile Action Script sio lugha inayojitegemea, tunahitaji kujua dhana za kimsingi. Tafadhali nisamehe mara moja kwa uwasilishaji usio na usawa wa dhana ya msingi kama vile programu inayolenga kitu (OOP), ambayo inategemea dhana ngumu kama vile encapsulation na polymorphism.

OOP inategemea mfano wa kitu cha maombi, ambapo vitu vyote ni vipengele vya darasa fulani (Mchoro 16). Kwa hivyo, programu ya Flash inategemea filamu; ina onyesho moja au kadhaa. Hatua ina vitu vya picha na maktaba. Tukio pia lina ratiba ya wakati ambapo muafaka ziko. Fremu muhimu, alama za klipu, na alama za vitufe zinaweza kuwa na msimbo wao wa Hati ya Kitendo.

Katika lugha za kweli zenye mwelekeo wa kitu, kila kipengele cha modeli ya kitu kinaweza kufikiwa kwa utaratibu. Katika Macromedia Flash, unaweza tu kufikia baadhi ya vipengele hivi kwa utaratibu kwa kutumia Hati ya Kitendo.

Kwa ujumla, Flash ina uwezo wa kuunda vigeu vya vitu, lakini hii ni zaidi ya upeo wa kozi yetu ya kuchagua.

https://pandia.ru/text/78/159/images/image020_25.gif" width="612" height="420 src=">

Kielelezo cha 16

Unaweza kutazama muundo wa kifaa cha video yako mahususi kila wakati kwa kutumia paneli inayoelea ya "Video Explorer".

Kielelezo 17 (kinaonyesha kipande cha modeli ya kitu kwa mradi uliopita
Kikokotoo cha Flash)

Vitu vinavyoweza kubadilika vina mali, yaani, vitu vinavyoweza kubadilishwa. Kwa mfano, klipu ya video ina sifa ya kuratibu ya X; Hati ya Kitendo ina mbinu ambazo tunaweza kubadilisha kipengele hiki. (na hivyo kuunda uhuishaji wa programu). Zaidi juu ya hili katika sura inayofuata.

Kila simu kwa msimbo wa programu huambatana na tukio fulani, tukio kama hilo linaweza kuwa kubonyeza kitufe cha skrini au kubonyeza kitufe cha kibodi.

Kagua maswali:

Taja lugha za programu zinazolengwa na kitu. Ni vipengele gani vinavyounda modeli ya kitu cha Flash? Ni vipengele gani unaweza kubadilisha kiprogramu? Eleza maana ya istilahi kitu, mali, mbinu, tukio. Je, filamu ya Flash inaguswa na matukio gani?

8. Mabadiliko ya programu ya mali.

Alama za maktaba ya aina ya klipu ya video zinaweza kuwa na sifa zinazoweza kuhaririwa. Hii ina maana kwamba unaweza kubadilisha kiprogramu ukubwa, nafasi, au mwonekano wa kitu fulani. Je, hili linatekelezwaje?

Kielelezo cha 17

Chora kitu, kama vile mstatili.

Weka kwenye maktaba, na lazima iwe klipu ya video;

Katika paneli ya "Nakili" inayoelea, lazima ueleze jina la kitu hiki, kwa mfano, zzz (Mchoro 17).

Katika paneli ya "Vitendo vya Muafaka", chagua Uendeshaji - Weka amri ya Mali. Amri hii ina sehemu tatu maalum. Mali ni mali ya kitu ambacho tunataka kubadilisha, kwa mfano, _x (x Nafasi), nafasi ya kitu kwenye mhimili wa X. Lengo ni jina la nakala ya kitu, katika kesi hii zzz. Thamani - nini mali iliyochaguliwa ni sawa; shamba hili linaweza kuwa na nambari maalum au kujieleza, lakini kwa hali yoyote, usisahau kuangalia kubadili "Maonyesho" (Mchoro 18).

Hiyo yote, ikiwa utaendesha mradi huo, utaona kwamba mstatili wako umehamia na sasa uratibu wa kituo chake utakuwa sawa na mia moja.

Kielelezo cha 18

Seti kamili ya mali zinazoweza kubadilishwa iko kwenye dirisha la "Sifa za Muafaka", sehemu ya Sifa, na maana yake inaweza kupatikana katika fasihi. Wacha tuangalie mali kuu, nyingi ambazo tutahitaji baadaye katika mradi:

Alpha - uwazi wa kitu, hutofautiana kutoka sifuri - uwazi kamili, hadi 100 mwonekano kamili;

Inayoonekana ni mali inayofanana sana ambayo inamaanisha mwonekano. Mali ina maadili mawili tu - sifuri (kitu hakionekani) na moja (kitu kinaonekana kabisa);

Kielelezo cha 19

Urefu - urefu wa kitu, kipimo kwa saizi;

Upana - upana wa kitu, kipimo katika saizi;

Mzunguko - mzunguko wa kitu kinachohusiana na kituo chake, kilichopimwa kwa digrii;

X - x kuratibu;

Kielelezo cha 20

Y - y kuratibu, uratibu wa kona ya juu kushoto huchukua thamani sawa na (0,0);

Xscale - kubadilisha kiwango pamoja na mhimili wa x;

Yscale - badilisha kiwango kwenye mhimili wa y;

Kama ulivyoona, mali zote huanza na kusisitiza.

Kwa kuwa hatuhitaji kubadilisha tu mali ya kitu kwa utaratibu, lakini pia kufuatilia thamani yao ya sasa, tunahitaji kazi ya GetProperty. Amri inaitwa katika dirisha la "Vitendo vya Muafaka" Kazi - GetProperty () (Mchoro 19). Kazi ina vigezo viwili. Lengo - lengo, badala ya neno linalolenga jina la nakala ya ishara ya kitu imeandikwa. Mali - mali inayoweza kubadilishwa; badala ya neno mali, kwa mfano, unaweza kuandika _x, kupata uratibu wa x wa sasa. Kazi hii hutumiwa, kama sheria, pamoja na amri ya kuweka tofauti au ndani ya amri nyingine (Mchoro 20).

x = getProperty(zzz, _x);

Amri hii inamaanisha kuwa uratibu wa sasa wa kitu, unaoitwa zzz, utahifadhiwa katika mabadiliko ya x.

Wacha tuangalie jinsi unaweza kutumia kubadilisha mali katika mradi. Unda kitu ambacho mali zake zinaweza kubadilishwa. Mfano wa skrini unaonyeshwa kwenye Mchoro 21.

Kielelezo cha 21

Unda kitu na ukigeuze kuwa ishara ya klipu ya video.

Ipe nakala ya ishara hii jina katika paneli ya kunakili inayoelea, kama vile "Ob".

Unda seti ya vifungo. Kimsingi, seti ya vifungo inaweza kuwa ya kiholela; mradi hutumia vifungo vinavyobadilisha kuratibu za kitu, na pia kubadilisha kiwango na uwazi wa kitu.

Ongeza nambari ifuatayo kwenye kitufe kinachosogeza kitu juu:

washa (toa, bonyeza kitufe" ") {

setProperty("Ob", _y,

getProperty(Ob, _y) - 5);

Amri hii inabadilisha mali ya kitu cha "Ob", uratibu wake y. Ili kitu kiende juu, uratibu wake wa sasa umehesabiwa na 5 hutolewa kutoka kwake.

Vifungo vingine vina msimbo sawa, tofauti tu katika mali ambayo utabadilisha. Hebu tuchukue mfano mwingine:

setProperty("Ob", _xscale, getProperty(Ob, _xscale) + 5);

setProperty("Ob", _yscale, getProperty(Ob, _yscale) + 5);

Nambari hii huongeza ukubwa wa kitu. Ili kuongeza sawia, unahitaji kuongeza saizi katika mhimili wa x na mhimili wa y. Kwa hivyo, kuna amri mbili katika hati hii.

Kagua maswali:

Ni alama gani za maktaba zinaweza kupatikana kwa utaratibu? Jinsi ya kupanga hii? Umesoma sifa gani za vitu? Nini maana yao? Kuna tofauti gani kati ya setProperty na getProperty amri? Eleza maana ya mstari: setProperty("Ob", _xscale, getProperty(Ob, _xscale) + 5); Unaweza kufikiria jinsi unavyoweza kubadilisha mali ya vitu vingine, kama vile vifungo?

9. Mizunguko ya sura tatu. Uhuishaji wa programu.

Kubadilisha sifa za kitu kwa utaratibu hukuruhusu kuunda uhuishaji wa programu. Tofauti na uhuishaji wa kawaida, ambao unaweza kuundwa katika Macromedia Flash, uhuishaji wa programu unaweza kudhibitiwa kadiri video inavyoendelea.

Inaweza kuonekana kuwa inatosha kubadilisha kwa mzunguko mali ya kitu, kwa mfano x kuratibu, na kitu kitaanza kusonga, lakini sivyo. Ukweli ni kwamba katika Flash, msimbo wa programu unatekelezwa kwanza, na kisha tu mabadiliko hutokea, skrini inafanywa upya. Kwa hiyo, kitu kitahamishwa mara moja kutoka mwanzo hadi hatua ya mwisho, na harakati za laini hazitafanya kazi. Kushinda utata huu upo katika matumizi ya mizunguko yenye sura tatu.

Wazo lao ni hili:

Katika sura ya kwanza muhimu, mara kwa mara ya awali na nafasi ya awali ya kitu imewekwa.

Katika sura ya pili muhimu, mali ya kitu hubadilika kwa kiasi fulani maalum.

Sura ya tatu muhimu ina amri moja tu ya kwenda kwenye sura ya pili.

Licha ya ukweli kwamba mzunguko haujaainishwa wazi, mali itabadilika kwa mzunguko. Kwa kufanya mabadiliko ya mali ya programu katika sura ya pili, kompyuta itabadilisha nafasi ya kitu, na sura ya tatu itafunga mchakato huu.

Hebu tuangalie jinsi mzunguko wa sura tatu unatekelezwa katika mazoezi. Wacha tuunda video ambayo gari husogea kutoka makali hadi makali ya karatasi, ikigeuka kwa mwelekeo tofauti na kuendelea kusonga kwa muda usiojulikana. Mtumiaji ana uwezo wa kubadilisha kasi yake ya harakati, kupunguza au kuongeza. Kuonekana kwa video, bila shaka bila harakati, inavyoonyeshwa kwenye Mchoro 22. Chini itakuwa uchambuzi wa kanuni ya programu ya utekelezaji wa mradi huu.

Kielelezo 22

Unda mchoro wa gari kwenye safu ya kwanza, au uingize mchoro uliofanywa tayari. Badilisha jina la safu "gari", na upanue fremu ya ufunguo kwa fremu ya tatu kwa kushinikiza kitufe cha F5 kwenye fremu ya tatu.

Badilisha mchoro kuwa ishara, kama vile klipu ya video. Ipe nakala ya alama hii jina katika paneli ya kunakili inayoelea, kama vile "gari".

Unda safu mpya, uipe jina tena "vifungo" na uunda vifungo viwili juu yake "haraka" na "polepole".

Kwenye safu mpya ya Vitendo, unda fremu tatu tupu na ubonyeze F7 mara tatu.

Katika fremu ya ufunguo wa kwanza, ongeza nambari ifuatayo:

setProperty("gari", _x, 50);

Tafadhali kumbuka kuwa msimbo huu haujafungwa katika braces curly na hakuna juu (kutolewa) mwanzoni, yaani, kanuni hii inahusu hasa fremu, si kifungo. Katika kipande hiki, katika mstari wa kwanza wa kitu kinachoitwa gari, mali _x (kuratibu kando ya mhimili wa x) imewekwa kwa 50. Kisha, vigezo vitatu vinaletwa, hapa ni maana yao: dx - thamani ya harakati moja ya kitu, pamoja na mwelekeo wa harakati (tazama hapa chini), MinX na MaxX ni kiwango cha chini na cha juu iwezekanavyo kuratibu kitu, kwa mtiririko huo. Kwa ujumla, unaweza kufanya bila vigezo hivi, lakini kuzitumia hurahisisha sana kurekebisha mradi wako. Nadhani uelewa wa kina utaibuka wakati wa kuchambua nambari zaidi.

Katika fremu ya ufunguo wa pili, ongeza nambari ifuatayo:

x = getProperty(gari, _x);

' Nambari ya x huhifadhi nafasi ya sasa ya kitu.

ikiwa (x<=MaxX) {

setProperty("gari", _xscale, -100);

' Ujenzi wa taarifa mbili za masharti. Ya kwanza inakagua dx>0. Ikiwa ndivyo, basi gari linahamia kulia. Sharti la pili x<=MaxX проверяет не достиг ли автомобиль максимально возможной координаты. Если это так то изменяется координата x объекта «car». Если второе условие не выполняется, то максимальная координата достигнута, как результат масштаб по координате х изменяется на -100% (автомобиль переворачивается) и единичного перемещение объект изменяется на противоположное.

ikiwa (x>=MinX) (

setProperty("gari", _x, x+dx);

setProperty("gari", _xscale, 100);

' Tena ujenzi wa taarifa mbili zenye masharti. madhumuni yao ni sawa na yale yaliyotangulia.

Katika fremu ya ufunguo wa tatu, ongeza nambari ifuatayo:

gotoAndPlay(2);

Ikiwa utaendesha mradi sasa, utaona kuwa kitu kinasonga kushoto na kulia. Wacha tuongeze nambari rahisi ambayo huongeza na kupunguza kasi.

Ili kubadilisha kasi, unahitaji kuongeza kiasi cha harakati ya kitengo cha kitu. Nambari inayolingana na kitufe cha "haraka" imetolewa hapa chini:

washa (toa, bonyeza kitufe" ") {

' Ikiwa harakati ya kitengo ni chanya, basi kubonyeza kitufe huongeza harakati hii kwa moja. Tafadhali kumbuka kuwa hatua sawa itatokea ikiwa unasisitiza kitufe cha "kulia" kwenye kibodi.

Nambari inayolingana na kitufe cha "polepole" imetolewa hapa chini:

washa (toa, bonyeza kitufe" ") {

Kusudi ni sawa na kipande kilichopita. Ni hayo tu. Zindua mradi, ujaribu. Tutatumia maarifa yaliyopatikana katika mradi wa mwisho, ambao utachanganya zile mbili zilizopita na kuunda mchezo.

Kagua maswali:

Kwa nini uhuishaji wa programu hauwezi kutekelezwa kwa kutumia kitanzi cha kawaida cha "wakati"? Eleza madhumuni ya kila fremu katika mzunguko wa fremu tatu. Eleza maana ya kutofautiana kwa dx katika mradi ulioelezwa. Kwa nini mstari setProperty ("gari", _xscale, 100); kwenye msimbo wa programu? Ongeza kitufe cha "kuacha" kwenye mradi ulioundwa.

10. Mradi "Mchezo mwingiliano - Msururu wa Risasi".

Lengo la mradi: Unda mchezo wa matunzio shirikishi wa upigaji risasi. Hare (lengo) itachanganyikiwa kwenye uwanja wa kucheza, ambao lazima upigwe kwa kutumia lengo la kusonga mbele. Hit lazima ifanywe kwa idadi ndogo ya hatua (zilizohesabiwa). Taswira ya skrini inayokadiriwa imeonyeshwa kwenye Mchoro 23.

Ili kutekeleza mradi huu, unahitaji kuunda kitu cha lengo (katika kesi hii, kuchora nje ya hare). Inapaswa kuhamia kwa njia sawa na gari kutoka kwa mradi uliopita. Pia unahitaji kuunda kitu kinacholengwa na seti ya vitufe vinavyosogeza kitu hiki kushoto-kulia na juu-chini. Pia unahitaji kuunda sehemu sita za pato zinazobadilika. Mbili kwa kuonyesha kuratibu za lengo, mbili kwa kuonyesha kuratibu za lengo, moja kwa kuonyesha matokeo na moja kwa kuhesabu idadi ya majaribio.

Kimsingi, huu ni mzunguko sawa wa sura tatu. Katika sura ya kwanza tunaweka vigezo vya awali:

z_x = nasibu(450)+50;

z_y = nasibu(230) + 50;

pr_x = getProperty(pr, _x);

pr_y = getProperty(pr, _y);

setProperty("z", _x, z_x);

setProperty("z", _y, z_y);

setProperty("buh", _visible, 0);

d - hit usahihi (zaidi juu ya kutofautiana hii baadaye); h - hatua moja ya harakati ya "hare"; rez - idadi ya marudio, awali kutofautiana hii ni sawa na sifuri; z-x na z-y ni kuratibu za awali za "hare", zimewekwa kwa kutumia kazi ya kawaida ya Random, inaitwa kutumia amri ya Vitu - Hisabati - Random katika dirisha la Vitendo vya Frame; basi mali ya lengo (kitu "z") huwekwa kwenye kuratibu zilizopatikana za random; na hatimaye, katika mstari wa mwisho, mwonekano wa "risasi" umewekwa kwa sifuri, yaani, kwa wakati huu, kitu "buh" hakionekani.

Kielelezo 23

Na hapa chini kuna nambari inayolingana na sura ya pili muhimu:

z_x = getProperty(z, _x);

ikiwa (z_x>=max_x) (

setProperty("z", _xscale, -50);

ikiwa (z_x<=min_x) {

setProperty("z", _xscale, 50);

setProperty("z", _x, z_x+h);

kila kitu kinarudia msimbo sawa wa sura ya pili kutoka kwa kazi ya awali.

Sura ya tatu ina amri moja tu:

gotoAndPlay(2);

inakuwezesha "kitanzi" harakati ya lengo.

Ongeza msimbo wa vitufe vinavyosogeza lengo kushoto na kulia, juu na chini. Kama mfano, hapa kuna nambari ya kuhamisha lengo kulia:

washa (toa, bonyeza kitufe" ") {

pr_x = getProperty(pr, _x);

setProperty("pr", _x, pr_x + 10);

pr_x = getProperty(pr, _x);

katika kipande hiki amri pr_x = getProperty (pr, _x) inarudiwa mara mbili, hii sio kosa. Ni kwamba mara ya kwanza amri hii inahitajika ili kuamua nafasi ya lengo kabla ya kusonga, na mara ya pili tunahitaji uratibu mpya wa lengo ili kulinganisha na uratibu wa lengo wakati wa kurusha.

Yote iliyobaki ni kuongeza msimbo wa kifungo cha moto. Imewasilishwa hapa chini:

washa (toa, bonyeza kitufe" ") {

' Bila kujali ufanisi wa risasi, utofauti wa rez huongezeka kwa moja.

setProperty("buh", _x, pr_x);

setProperty("buh", _y, pr_y);

setProperty("buh", _visible, 1);

’ Alama inayoiga "risasi" inasogezwa hadi kwenye viwianishi ambapo lengo linapatikana kwa sasa na mwonekano wake unakuwa sawa na moja.

tellTarget("buh") (

gotoAndPlay(2);

' Katika mradi huo, "risasi" ni klipu ambayo duara nyekundu inaonekana. Ili kuzuia hili kutokea wakati wote, amri ya kuacha () inatumika katika fremu za kwanza na za mwisho za klipu. Amri ya TellTarget inaiambia kompyuta kwamba amri zifuatazo katika mishale ya curly hutumika tu kwa kitu cha "buh" na hutekelezwa ndani yake. Kwa kuhamia fremu ya pili, uhuishaji ndani ya klipu ya "buh" huanza.

ikiwa (Math. abs (pr_x - z_x)

text = "Hasa kwenye lengo!";

' Ni katika hali gani tunapaswa kudhani kuwa tunafikia lengo - ikiwa tofauti kati ya viwianishi vya lengo na lengo ni chini ya usahihi wa hit (kigezo d katika fremu ya kwanza). Jambo kuu ni kwamba hali zote mbili zimeridhika kwa wakati mmoja kwa viwianishi vya x na y, kwa hivyo kiunganishi cha kimantiki NA kinatumika (tazama somo la 4). Na mwisho, lazima tulinganishe moduli ya tofauti ya kuratibu; kwa kusudi hili kazi ya kawaida ya hisabati hutumiwa. abs(). Masharti yote yakitimizwa, sehemu inayobadilika ya "maandishi" huchukua thamani "Hasa kwenye lengo!" na video inakoma.

maandishi = "zamani!";

Ni hayo tu. Mradi unaendelea, lengo linakimbia kutoka kwetu, na mashamba ya maandishi yanafuatilia nafasi yake. Lengo linasogea kote kwenye uwanja na matokeo yanaonyeshwa kwenye skrini. Unaweza kujipongeza, tumefika mbali.

Kagua maswali:

Ni teknolojia gani zilitumika katika mradi huu? Kusudi la amri ya tellTarget("buh") ni nini? Ni nini kinachohitaji kubadilishwa katika mpango ili kupunguza uwanja wa mwendo wa hare kwa saizi 100? Kwa nini, tunapolinganisha kuratibu lengwa na kuratibu lengwa, tunapaswa kuhesabu moduli ya data ya kuratibu? Je, hii inatekelezwa vipi katika Flash? Toa chaguzi ambazo zinatatiza mchezo, pendekeza njia za kuzitekeleza.

Tumegusa tu upangaji programu katika Flash. Masuala kama vile kufanya kazi na safu yalibaki bila kuguswa; hatukufanya kazi na sehemu za maandishi za sauti au kusongeshwa; hatukufanya kazi na vigeu vya vipengee. Bado kuna siri nyingi na mshangao katika Flash; kuzigundua ni suala tofauti. Labda mwandishi atapata wakati wa kuelezea mambo haya ya kupendeza.

Ikiwa ulikuwa na nia ya masomo haya ya kwanza, ikiwa una nia ya programu katika Flash, basi usiku hizi chache ambazo nilielezea hatua za kwanza katika mpango wa ajabu wa Macromedia Flash haukuwa bure. Unaweza kuwasiliana nami kwa E-mail, kueleza matakwa yako na maoni, kuuliza maswali, lakini kwa hali yoyote, asante kwa kusoma maandishi haya.

Kwa kupata. exe, lazima uunde sinema ya Flash kwenye programu ya Macromedia Flash, ichapishe (menu faili - uchapishaji) Kama matokeo, unayo faili iliyo na kiendelezi . swf, unaweza kuiona kwa kutumia programu ya Flash Player (imewekwa kiotomatiki wakati wa kusakinisha Macromedia Flash. Fungua faili inayoonekana, chagua menyu. faili - kuunda projekta, weka jina lako. exe faili.

Licha ya ukweli kwamba unaona mstatili, kama kwenye picha, hii ni mpaka; wakati wa kuandika, itabaki, lakini kwenye video yenyewe haitaonekana.

Uwezekano mkubwa zaidi, unapojaribu kuandika maandishi kwa herufi za Kirusi, "abracadabra" itaonekana kwenye skrini yako. Hii ni kutokana na ukweli kwamba fonti chaguo-msingi katika programu ya Flash ni Times New Roman, ambayo haina maelezo ya herufi za Kisirili. Kwa hiyo, kabla ya kuandika, sakinisha fonti inayoauni Cyrillic, kwa mfano, Times New Roman Cyr au Arial Cyr.

Ikiwa unasoma toleo la kielektroniki la mwongozo huu, basi unaweza kunakili kipande hiki na kisha kukibandika kupitia ubao wa kunakili kwenye dirisha la kitendo cha fremu.

Katika toleo la nne la Macromedia Flash, kikomo cha marudio 20,000 kiliwekwa; ikiwa ulijaribu kutekeleza idadi kubwa ya mizunguko, kompyuta iliacha kutekeleza nambari ili kuzuia kufungia. Kuanzia toleo la tano, kizuizi kimeondolewa; kompyuta inaonyesha tu ujumbe kwamba programu inapunguza kasi na inakupa fursa ya kusitisha programu mwenyewe.

Ili kuongeza fremu mpya, bofya kwenye fremu #2 kwenye safu ya kitendo na ubonyeze F7. Flash itaunda fremu mpya ya ufunguo tupu.

Kuagiza picha, chagua Faili ya amri - Ingiza kutoka kwa miundo mingine. Kuwa mwangalifu ikiwa folda uliyotaja ina faili zilizo na jina moja, kwa mfano. gari 1? car2, nk basi kompyuta itatoa kuziagiza zote mara moja. Ukiagiza mchoro wa vekta, utaishia kwenye turubai kama mkusanyiko wa vitu vilivyowekwa kwenye vikundi. Usisahau kuiweka katika kundi moja. Ukiagiza bitmap, itawekwa kiotomatiki kwenye maktaba, na tunaona nakala yake kwenye hatua.

Usifikirie kuwa umejifunza jinsi ya kupanga kwa kusoma sura ya Utangulizi wa ActionScript na sura ya Vipengele vya ActionScript kwa Kuunda Michezo. Kuna tofauti kati ya kuweza kuandika msimbo wa ActionScript na kuwa na matumizi ya programu.

Kupanga ni ngumu kwa watu wengi, lakini ni rahisi kwangu. Lakini nina digrii katika sayansi ya kompyuta na nimekuwa nikipanga programu kwa miaka 18. Bila uzoefu kama huo, haupaswi kutarajia matokeo ya haraka.

Hapa kuna baadhi ya kanuni ambazo zitakusaidia kujifunza kupanga. Kama ujuzi wowote, programu inachukua muda kujifunza. Utagundua kuwa kadiri unavyopanga, ndivyo inavyokuwa rahisi zaidi.

Uchambuzi wa Kazi

Kupanga programu ni mchakato. Programu kubwa inaweza kugawanywa katika sehemu. Sehemu hizi zinaweza kugawanywa katika sehemu ndogo zaidi, nk Ili kuandika programu, unahitaji kuzingatia tatizo ulilopewa na kutatua sehemu kwa sehemu.

Tuseme unataka kuunda mchezo Wavamizi wa nafasi(Wavamizi wa Nafasi). Hii ni kazi ngumu. Walakini, ukiigawanya katika sehemu ndogo, utagundua kuwa kuisuluhisha ni rahisi sana.

Kwanza kabisa, fikiria kuhusu vipengele ambavyo mchezo wako utajumuisha: meli ya mchezaji, wavamizi, makombora ambayo meli hurusha, na makombora ambayo wavamizi hurusha.

Sasa chukua moja ya vipengele hivi na ufikirie juu ya hatua gani zitatokea nayo. Meli ya mchezaji itasogezwa kwa mlalo kwenye skrini kwa kutumia vitufe vya vishale. Hii tayari ni kazi inayowezekana zaidi.

Endelea hoja yako zaidi. Unajuaje kuwa mtumiaji amebofya kitufe cha kishale cha kushoto? Je, unahamishaje meli kwenda kushoto? Vipi kuhusu ufunguo wa mshale wa kulia na kusogeza meli kulia? Kwa kutatua shida hizi ndogo, utasuluhisha shida kubwa ya kusonga meli. Baada ya hayo, unaweza kuendelea na sehemu inayofuata ya programu. Utaratibu huu unahitaji uvumilivu, ambayo ni kipengele muhimu cha programu. Unapaswa pia kuwa na subira na wewe mwenyewe. Hadi uwe mtaalamu wa ActionScript, utahitaji kuchukua muda mbali na kutayarisha programu mara kwa mara ili kutafuta amri fulani ambayo bado huijui au kujifunza nyenzo mpya. Huwezi kuandika programu ngumu bila kujaza mapungufu katika maarifa yako.

Ni muhimu kutambua kwamba ikiwa kazi inaonekana kuwa kubwa sana kushughulikia, labda ni. Igawanye katika kazi ndogo na utapata suluhisho.

Kanuni za Kuandaa

Unapojifunza programu, kuna sheria kadhaa za kufuata ambazo zitafanya kazi yako iwe rahisi. Sheria hizi zinafuatwa na watengeneza programu kote ulimwenguni, kwa kutumia lugha zote za programu:

  • maoni- Unapaswa kuwa na mazoea ya kuongeza maoni kwenye nambari yako. Hata mistari ambayo inaonekana wazi kwa sasa inaweza kuwa wazi ikiwa utarudi kwao mwezi mmoja baadaye;
  • majina ya kutofautiana- tumia majina tofauti yanayoakisi kusudi lao. Watakamilisha maoni na kukusaidia kuelewa msimbo utakaporudi kwake baadaye;
  • majina ya kazi- yote yaliyo hapo juu yanatumika kwa majina ya kazi. Lazima waeleze matendo wanayofanya;
  • mfupi ni bora zaidi- Mweko hauna kikomo kwa urefu wa chaguo za kukokotoa. Walakini, ikiwa utaandika chaguo la kukokotoa lenye urefu wa mistari 100, utakuwa na wakati mgumu kuihariri baadaye. Ni bora kuvunja kazi katika kazi na kuweka kila kazi katika kazi tofauti;
  • jumuisha vitendaji vinavyoweza kutumika tena katika msimbo wako- wakati wa programu, usisahau kufikiria jinsi unaweza kutumia hii au kazi hiyo kwa kazi sawa au sawa katika sehemu nyingine ya programu yako. Hebu tuseme unahitaji chaguo za kukokotoa ambazo huongeza pointi moja kwa alama ya mchezaji. Jaribu kutumia parameter ndani yake ambayo inakuwezesha kuongeza sio moja tu, lakini pia nambari nyingine yoyote ya pointi kwa alama yako;
  • jaribu kuzuia kuweka rekodi ngumu- Uwekaji misimbo ngumu unamaanisha kujumuisha nambari maalum katika msimbo wako. Wacha tuseme nambari yako hutumia thamani 550 kuelezea upande wa kulia wa nafasi ya kazi, itawekwa alama ngumu kwenye programu. Ikiwa unaamua kupanua eneo la kazi hadi saizi 600, itabidi ubadilishe kila matumizi ya thamani 550 katika msimbo. Ni bora kuweka kigezo kiitwacho screenRightSide hadi 550 mwanzoni kabisa na kutumia kigeu hiki katika programu nzima;
  • shirika nzuri- mpangaji mzuri wa programu lazima bila shaka awe na uwezo wa kupanga vipengele mbalimbali vya programu. Kwa mfano, vitendaji havipaswi kuwekwa katika fremu tofauti, lakini katika fremu moja ya video yako. Kwa kuongeza, jaribu kupanga kazi za kikundi kulingana na kazi wanazofanya.

Utatuzi

Watengenezaji programu wote wanapaswa kurekebisha programu wanazounda. Haiwezekani kupata programu kufanya kazi bila dosari mara ya kwanza unapoiendesha. Mtaalamu mzuri anapaswa kuwa na uwezo wa kutatua programu.

Mbali na kutumia debugger ActionScript, utatuzi unaweza kufanywa kwa njia mbalimbali. Unapojaribu cheza video kwenye dirisha Pato Ujumbe wa hitilafu unaweza kuonekana. Wakati mwingine hii inatosha kwako kuelewa ni wapi kwenye nambari una shida.

Taarifa kuhusu programu inaweza pia kuwekwa kwenye dirisha Pato kwa kutumia amri kufuatilia. Itakusaidia kufuatilia nyakati fulani za programu na thamani ya vigeu fulani katika nyakati hizi.

Ikiwa ungependa kutumia kitatuzi, tunapendekeza kwamba usome mwongozo wa Flash MX kwa maelezo zaidi. Kitatuzi ni zana rahisi inayokuruhusu kuonyesha thamani zinazobadilika wakati filamu ya Flash inacheza. Hata hivyo, hawezi kufanya miujiza; Kitatuzi kinaweza tu kukusaidia kuelewa mradi wako mwenyewe.

Kupima

Hatua inayofuata katika utatuzi ni kufanya michezo yako ijaribiwe na watu wengine. Majaribio ni kipengele muhimu, hasa kama mchezo unatayarishwa na wewe katika ngazi ya kitaaluma. Kama mpangaji programu, hautaweza kutathmini kwa kweli kazi ya mtoto wako wa akili na mapungufu yake.

Labda utajifunza mengi mara ya kwanza mtu anapocheza mchezo wako. Hujawahi kufikiria kwamba angebonyeza vitu kama hivyo. Inaweza kuburuta vipengee nje ya eneo la kazi au kupata njia ambayo haipaswi kuwa.

Kawaida, kabla ya uwasilishaji rasmi kwa hadhira pana, mchezo hupitia hatua mbili za uthibitishaji. Katika hatua ya kwanza (majaribio ya alpha), mchezo hujaribiwa na wenzako au marafiki. Jaribio la Beta hufanywa na watu nje ya kampuni au mtandao wako. Katika awamu zote mbili, unapaswa kupokea arifa kuhusu matatizo yoyote yanayopatikana na kutoa matoleo mapya ya mchezo yanaporekebishwa.

Kwa bahati mbaya, mara nyingi wakati msimbo ni sahihi kisintaksia, programu hutoa matokeo yasiyotarajiwa. Kwa mfano, kwa kuwa Flash haihitaji tamko maalum la vigezo, itakula kwa urahisi jina la kitu kisichopo (unaweza kuingiza jina kwa urahisi) na itafanya kwa uaminifu vitendo vyote vilivyopewa.

Hitilafu za programu hazijumuishi makosa tu, bali pia maudhui yasiyofaa ya mchezo na vipengele vinavyokosekana. Jaribu kukamilisha mchezo wako kadri uwezavyo kabla ya kutangaza kuwa umekamilika.