Координате позорнице

Пошто си упознао основе окружења, време је да научиш како да пошаљеш ликове на жељена места на позорници.

Научићеш шта је апсолутно, а шта релативно кретање и упознаћеш наредбе које их омогућавају.

Када се покрене Скреч, аутоматски се креира позорницa: бели правоуганик, који има 480 тачака по ширини и 360 тачака по висини. У рачунарској графици се најмања тачка која се може приказати на екрану назива пиксел (енгл. Pixel).

Позорница је место на коме ће се покренути твоје приче, игре и анимације. Она је непокретна, као акваријум, али њени становници – ликови, се стално крећу и ступају у међусобне односе. Да би се лако управљало кретањем ликова, позорници је придружен правоугли координатни систем са тачком (0,0) у центру позорнице.

Координате омогућавају да се ликови прецизно воде по позорници и да могу да се доведу у произвољну тачку (x,y), јер сваки пиксел има своје координате. У простору испод десног доњег угла позорнице, десно од дугмади за нове ликове, можете да пратите како се мењају текуће x-y координате курсора приликом превлачења миша преко позорнице.

_images/koord_lik_kursor.png

Сви блокови везани за положај и кретање ликова по позорници налазе се групи Кретање.

Репортери кретања

То су блокови mesto_x и mesto_y који садрже текуће податке о томе где се налази лик (које су његове х и у координате), као и блок smer који показује како је усмерен лик.

Да би се на позорници видело колике су тренутне координата лика и где гледа треба чекирати поља за потврду поред одговарајућих блокова.

_images/reporteri_kretanja.png

Ликови су обично већи од једног пиксела па се поставља питање на који његов део се односе вредности mesto_x и mesto_y.

Део на који указују ови репортери је центар костима. Можеш га видети ако кликнеш на знак cent који се налази у горњем десном углу Скречовог едитора слика (1).

У пресеку правих које ће се појавити видећеш где се налази центар лика (2). Понекад ће ти одговарати да помериш центар лика на неко друго место, на пример леви (3) или десни (4) крај костима лика.

_images/centar_kostima.png

Лик можеш да пошаљеш на одређено место на позорници на два начина: апсолутним и релативним кретањем.

Шта је то апсолутно кретање?

То је померање на одређено место независно од тренутне позиције лика.

У Скречу постоје 4 блока којима се лик може послати на одређену позицију (х,у) на позорници, односно извршити апсолутно кретање:

  • иди на позицију (х,у) idi_na
  • клизи до позиције (х,у) klizi
  • постави координату х позиције neka_x
  • постави координату у позиције neka_y

Наредбом idi_na лик се тренутно премешта на задату позицију (х,у).

_images/apsolutno1.png

У нашем примеру, мачка се из координатног почетка (0,0) премешта у тачку (200,100). При том се не усмерава ка одредишту, гледа на страну на коју је гледала и пре премештања.

Слично би са полазне тачке дошла до одредишта и наредбом klizi, али премештање се не би десило тренутно већ би трајало 1 секунду. Што већи број задаш као време клизања то ће дуже трајати одлазак на одредиште.

Други начин за задавање одредишта кретања је независним задавањима координата х и у помоћу наредби neka_x и neka_y.

_images/apsolutno2.png

Шта је то релативно кретање?

То је померање на место које је од тренутне позиције лика удаљено задати број корака. Разуме се, треба да се каже и у ком смеру треба ићи (удесно, на горе и слично).

У нашем примеру одредиште је 4 корака удесно и два корака навише од текућег положаја лика. Пошто је мачак усмерен надесно, прво ћемо га померити 4 корака , а онда га окренути за 90 о улево и померити још 2 корака навише.

Исто би се постигло и тако што прво направи 2 корака навише, окрене се 90 о удесно и направи још 4 корака. Пошто је на почетку мачак усмерен надесно, пре извршења ове три наредбе требало би га окренути навише, значи кретање на овај други начин подразумева укупно 4 наредбе.

_images/relativno1.png

Наредбе idi_koraka, okret_udesno и okret_ulevo су примери наредби за релативно кретање.

Усмерење и окретање

Поред наредби за окретање које омогућавају промену усмерења у односу на то како је лик тренутно усмерен, у Скречу постоје и наредбе које постављају усмерење независно од тренутног положаја лика.

То су наредбе usmeri и usmeri_objektu.

_images/usmerenje.png

Ево како можеш да поставиш вредност у поље блока usmeri

  1. Кликом на црни троуглић отвори падајућу листу и изабери жељену вредност, на пример (0) горе
  2. преко приказане вредности откуцај нову, на пример 45
  3. у информацијама о текућем лику заротирај плаву стрелицу која показује усмерење

Наредба usmeri_objektu омогућава да се лик усмери ка показивачу миша или неком другом лику у пројекту.

Према коме ће се усмерити лик бираш тако што кликом на црни троуглић у пољу вредности отвориш падајућу листу и изабереш.

pitaj Одговори на следећа питања

Питање 1

    Које од наредби омогућавају апсолутно кретање? (Изабери све тачне одговоре)

    _images/pitanje2_1.png
  • (A)
  • Где год да је био лик, преместиће се у тачку (0,0).
  • (B)
  • Ово је наредба за релативно кретање.
  • (C)
  • Ово је наредба за релативно кретање.
  • (D)
  • Лик који је претходно био у тачки (х,у) преместиће се у тачку (0,у).

Питање 2

    Које од наредби омогућавају релативно кретање? (Изабери све тачне одговоре)

    _images/pitanje2_2.png
  • (A)
  • Ово је наредба за апсолутно кретање.
  • (B)
  • Лик ће се померити 10 тачака удесно од тачке у којој се претходно налазио.
  • (C)
  • Ово је наредба за апсолутно кретање.
  • (D)
  • Лик ће се окренути 15 степени улево у односу на усмерење које је претходно имао.

Питање 3

    Који од блокова представљају репортере кретања? (Изабери све тачне одговоре)

    _images/pitanje2_3.png
  • (A)
  • То је наредба за апсолутно кретање.
  • (B)
  • Извештава која је текућа х координата лика.
  • (C)
  • Извештава која је текућа у координата лика.
  • (D)
  • Извештава које је текуће усмерење лика.

Питање 4

image:: ../_images/2/pitanje2_4.png
width:400px
align:center

    На коју страну света ће гледати лик после извршења наредбе pitanje2_5?
  • (A) југоисток
  • Тамо показује угао од 135 степени.
  • (B) југозапад
  • Тамо показује угао од -135 степени.
  • (C) североисток
  • Тамо показује угао од 45 степени.
  • (D) северозапад
  • Тачно.

Питање 5

_images/koordinate1.png

    Које су координате тачке А?
  • (A) (-200,-40)
  • (B) (-200,40)
  • (C) (200,-40)
  • (D) (200,40)

    Које тачке имају негативну y координату? (Изабери све тачне одговоре)
  • (A) A
  • Тачка А има негативну х координату, а координата у је позитивна (+40).
  • (B) B
  • У координата тачке В је -60.
  • (C) D
  • Обе координате тачке D су позитивне.
  • (D) E
  • У координата тачке Е је -80.

    Превлачењем упари тачке са њиховим координатама. Покушај поново
  • A
  • (-200,40)
  • B
  • (-160,-60)
  • C
  • (20,0)
  • D
  • (100,120)
  • E
  • (180,-80)

Питање 6

На следећој слици приказани су положаји 6 тачака на позорници.

_images/koordinate2.png

    Превлачењем упари тачке са њиховим координатама. Покушај поново
  • A
  • (-160,80)
  • B
  • (-160,-80)
  • C
  • (160,-80)
  • D
  • (80,0)
  • E
  • (160,80)
  • F
  • (0,80)

    Која тачка je симетрична тачки Е у односу на х осу?
  • (A) Тачка А
  • То треба да буде тачка која има исту х, a супротну по знаку у координату као тачка Е.
  • (B) Тачка В
  • То треба да буде тачка која има исту х, a супротну по знаку у координату као тачка Е.
  • (C) Тачка С
  • То треба да буде тачка која има исту х, a супротну по знаку у координату као тачка Е.
  • (D) Тачка D

    Која тачка je симетрична тачки Е у односу на у осу?
  • (A) Тачка А
  • То треба да буде тачка која има супротну по знаку х, a исту у координату као тачка Е.
  • (B) Тачка В
  • То треба да буде тачка која има супротну по знаку х, a исту у координату као тачка Е.
  • (C) Тачка С
  • (D) Тачка D
  • То треба да буде тачка која има супротну по знаку х, a исту у координату као тачка Е.

    Које тачке су једнако удаљене од у осе? (Изабери све тачне одговоре)
  • (A) A и B
  • A и В су 160 пиксела удаљене од у осе.
  • (B) A и C
  • А и С су 160 пиксела удаљене од у осе (А са леве, а С са десне стране).
  • (C) A и E
  • А и Е су уз то и симетричне у односу на у осу.
  • (D) D и F
  • F се налази на самој у оси, а Е је од осе удаљена 160 поксела.

pokusaj Покушај

Вежба 1

  1. Померај миша по позорници и прати промене координата курсора испод десног доњег угла позорнице.
  2. Кликни на групу наредби Кретање у палети блокова, па чекирај променљиве mesto_x и mesto_y на дну ове групе блокова. На позорници ће се појавити репортери “Лик1: место х” и “Лик1: место у”.
  3. Превлачи лик по екрану и прати како се мењају координате лика.
  4. Из библиотеке ликова увези лик Apple. Око сличице новог лика у листи ликова треба да се појави плави оквир што значи да је тај лик у фокусу. Ако није, кликни на његову сличицу у листи ликова.
  5. Чекирај променљиве место х и место у на дну групе блокова Кретање. На позорници ће се појавити репортери “Apple: место х” и “Apple: место у”.
  6. Превлачи сада лик Apple по екрану и прати како се мењају његове координате.

Вежба 2

  1. Покрени Скреч, па кликни на слику позорнице у делу инфо о позадинама. Око слике позорнице појавиће се плави оквир, значи позорница је у фокусу.
  2. Кликни на дугме Одабери позадину из библиотеке, па из прозора Библиотека позадина који ће се потом отворити изабери последњу: xy-grid.
  3. Кликни сада на картицу Програми како би уместо листе позадина добио палету блокова.
  4. У групи блокова Кретање добићеш поруку Нема блокова за кретање, што је и разумљиво јер позорница која је сада у фокусу не може да се креће.
  5. Кликни на лик мачка у листи ликова. Када се око сличице лика појави плави оквир, вратиће се и блокови групе Кретање.
  6. Превуци блок idi_na у област скрипти па промени вредност х на 120 и вредност у на 100.
  7. Кликни на овако измењен блок у области скрипти. Шта се десило?
  8. Прати где ће се наћи лик после клика на блок у који си претходно уписао различите вредности за х и у. На пример, где ће бити лик ако су обе координате негативне, ако су ван позорнице и слично.

Вежба 3

Покушај да направиш скрипту којом се лик води по екрану диркама са тастатуре.

  1. Постави као позадину xy-grid из библиотеке позадина.
  2. Лику мачка придружи наредбу dirka.

Дирка тастатуре која ће покренути скрипту бира се тако што се кликне на црни троугао поред назива дирке (размак) и затим из падајуће листе изабере жељена диркa. Tи изабери дирку “стрелица десно”.

_images/izbor_slova.png
  1. Из групе Кретање избери наредбу promeni_x, па у пољу за промену постави вредност 5 и повежи је са претходном наредбом.
  2. Притисни дирку стрелица десно на тастатури неколико пута. Шта се дешава?
  3. Умножи ову скрипту (десни клик на прву наредбу, па изабери умножи).
  4. У новој скрипти измени дирку стрелица десно у стрелица лево, а вредност промене х постави на -5.
  5. Притисни дирку стрелица лево на тастатури неколико пута. Шта се дешава?
  6. Покушај да направиш још две скрипте: за вођење лика нагоре и надоле.

Вежба 4

Покушај да водиш лик од тачке A до тачке B коришћењем различитих наредби кретања.

  1. Постави као позадину xy-grid из библиотеке позадина.
  2. Из библиотеке ликова изабери два нова лика - слова А и В (A-block и В-block).
  3. Слово А постави у доњи леви угао позорнице на позицију (-200,-120), а слово В у горњи десни угао на позицију (200,120). Ово ћеш најпрецизније урадити ако слову А придружиш блок idi_na (превучеш га у област скрипти док је слово А у фокусу), унесеш одговарајуће координате х и у, па кликнеш на блок. Поступак понови и за слово В.
  4. Мачку придружи наредбу idi_do и из падајуће листе (коју ћеш добити када кликнеш на црни троуглић у пољу избора) изабери “A-block”. Обрати пажњу - ово НИЈЕ наредба idi_na.
  5. Кликни на блок idi_do и мачак ће се наћи испод слова А.
  6. Кликни на блок predji_napred из групе Изглед и мачак ће се наћи изнад слова А.
_images/iza_ispred.png
  1. Сада у блоку idi_do изабери “В-block”, па кликни на њега. Мачак ће се истог тренутка наћи изнад слова В.

  2. Мачку придружи блок klizi и у пољу одредишта упиши координате слова А, па кликни на блок.

  3. Сада у поља одредишта стави координате слова В и постави дуже време, рецимо 5 секунди. Кликни на блок.

  4. Пробај и трећи начин. Прво мачку придружи блок usmeri_objektu, изабери да се усмерава ка лику “В-block”.

    Обрати пажњу - ово НИЈЕ наредба usmeri.

    Kликћи на блок idi_koraka све док мачак не стигне до слова В.

knjiga Шта смо научили

Појмови: пиксел, координатни систем, координате, наредбе кретања, репортери кретања, апсолутно кретање, релативно кретање, усмерење, начин окретања, центар костима.

Наредбе: kretanje - idi_do, idi_koraka, idi_na, nacin_okretanja, klizi, neka_x, neka_y, promeni_x, promeni_y, okret_udesno, okret_ulevo, usmeri, usmeri_objektu; izgled - predji_napred

Репортери: mesto_x, mesto_y, smer