官术网_书友最值得收藏!

2.2 角色的平移

有了坐標(biāo)系統(tǒng)這個(gè)武器,我們就可以精確地描述角色在平面上的運(yùn)動(dòng)啦。比如,小貓從原點(diǎn)向左移動(dòng)300步,再向下移動(dòng)200步,就到了圖中點(diǎn)C的位置,其坐標(biāo)為(-300,-200)。如果在這個(gè)位置再向右移動(dòng)600步,那就到達(dá)了D點(diǎn),坐標(biāo)為(300,-200)。

我們發(fā)現(xiàn),角色向右運(yùn)動(dòng)多少步,它所到達(dá)的新位置的y坐標(biāo)不變,而x坐標(biāo)就是在原x坐標(biāo)的基礎(chǔ)上加上運(yùn)動(dòng)的步數(shù)所得的數(shù)。比如上面的例子中,從C點(diǎn)(-300, -200)向右運(yùn)動(dòng)600步,新位置的坐標(biāo)就是:(-300+600, -200)=(300, -200)。對(duì)應(yīng)地,向左運(yùn)動(dòng)多少步,新位置的x坐標(biāo)就要在原來(lái)x坐標(biāo)的基礎(chǔ)上減去多少步。類(lèi)似地,向上或向下運(yùn)動(dòng)則保持x坐標(biāo)不變,y坐標(biāo)相應(yīng)地加上或減去運(yùn)動(dòng)的步數(shù)即可。

小練習(xí)

(1)小貓開(kāi)始位于坐標(biāo)為(-80, 120)的位置,經(jīng)過(guò)下面的移動(dòng)后,到達(dá)的新位置坐標(biāo)是多少?

①向左移動(dòng)50步;

②向上移動(dòng)40步;

③向右移動(dòng)70步。

解:

第一種方法,我們可以逐步算出每一次移動(dòng)后,小貓到達(dá)的位置。

向左移動(dòng)50步后,小貓的坐標(biāo)為(-80-50, 120)=(-130, 120);

向上移動(dòng)40步后,小貓的坐標(biāo)為(-130, 120+40)=(-130, 160);

向右移動(dòng)70步后,小貓的坐標(biāo)為(-130+70, 160)=(-60, 160)。

第二種方法,我們直接考慮小貓經(jīng)過(guò)水平和垂直方向的移動(dòng)后最終到達(dá)的位置。小貓最終位置的x坐標(biāo)為-80-50+70=-60,y坐標(biāo)為120+40=160,因此,最后新位置的坐標(biāo)為(-60, 160)。

(2)小貓開(kāi)始位于坐標(biāo)為(180,-30)的位置,現(xiàn)在要移動(dòng)到坐標(biāo)為(-200,50)的位置,請(qǐng)問(wèn)小貓可以怎么移動(dòng)才能到達(dá)上述目標(biāo)位置?

解:

-200-180=-380,50-(-30)=80

這里,負(fù)數(shù)-380表示小貓要向左移動(dòng),而正數(shù)80表示小貓要向上移動(dòng)。所以,小貓從原來(lái)的位置向左移動(dòng)380步,向上移動(dòng)80步,就可以到達(dá)新的位置。

好了,講了這么多坐標(biāo)和平移的知識(shí),我們趕緊來(lái)編寫(xiě)我們的第一個(gè)程序,讓小貓動(dòng)起來(lái)吧。

我們讓小貓從原點(diǎn)開(kāi)始向右移動(dòng),每次向右走20步,然后停頓1秒,一共走4次后停下。

我們從運(yùn)動(dòng)類(lèi)積木中找到這兩個(gè)積木,然后在控制類(lèi)積木中找到積木,將它們拖曳到代碼區(qū),將這一積木的10改成20,按下面上圖中的方式搭好積木。

如果我們想觀察一下執(zhí)行上面的代碼后小貓所處位置的x坐標(biāo),只要在最后增加下面這個(gè)外觀類(lèi)積木就行。

單擊小綠旗后,小貓從原點(diǎn)(0,0)向右移動(dòng)了80步,并說(shuō)出當(dāng)前的x坐標(biāo)為80。

主站蜘蛛池模板: 汉中市| 重庆市| 盱眙县| 秦皇岛市| 宁海县| 洞头县| 高淳县| 诸城市| 潜山县| 乐清市| 吕梁市| 元朗区| 深州市| 图木舒克市| 莒南县| 逊克县| 山丹县| 平乐县| 忻城县| 郎溪县| 正镶白旗| 海盐县| 葵青区| 丹寨县| 四会市| 长治市| 临颍县| 吴桥县| 淮滨县| 永平县| 珲春市| 那曲县| 靖宇县| 雷波县| 循化| 故城县| 武夷山市| 岗巴县| 图木舒克市| 巴林左旗| 栖霞市|