拖拽怪獸碰墻壁
故事背景:
? 怪獸被困在洞穴里背蟆,被激怒的怪獸不停的撞擊洞穴,洞穴晃來晃去娇掏,感覺要被震塌了辕狰!?
程序原理:
?洞穴的震動(dòng)其實(shí)就是背景的?X、Y 坐標(biāo)不停的變化唬复,所以這個(gè)背景圖我們應(yīng)該設(shè)置為角色矗积,而不能是背景,而且這張背景圖要稍微大點(diǎn)敞咧,否則震動(dòng)的時(shí)候會(huì)顯示白色棘捣。而角色左右移動(dòng)是跟鼠標(biāo)點(diǎn)擊有關(guān)系,難點(diǎn)在于判斷角色點(diǎn)擊是往左還是往右休建。?如何判斷角色是往左還是往右呢乍恐?這里我們設(shè)置了?兩個(gè)參數(shù),分別為鼠標(biāo)點(diǎn)擊的?X 坐標(biāo)丰包,和間隔?一段時(shí)間后鼠標(biāo)的?X1 坐標(biāo)禁熏,一開始?X1 坐標(biāo)為?0,當(dāng)點(diǎn)擊左側(cè)的時(shí)候邑彪,X-X1?應(yīng)該是負(fù)數(shù)瞧毙,應(yīng)為我們的角色在中間,X1?是負(fù)的。點(diǎn)擊右側(cè)宙彪,X?是正數(shù)矩动,X-X1>0。我們讓dx?= X-X1,那么當(dāng)?dx>0的時(shí)候释漆,是往右移動(dòng)悲没,dx<0,則往左男图。那么當(dāng)間隔一段時(shí)間后示姿,X1=X,也就是?dx=0逊笆,這個(gè)時(shí)候我們角色停止移動(dòng)栈戳。
開始編程
1、添加怪獸和洞穴的角色…調(diào)整怪獸和洞穴的位置难裆,使其看起來就像怪獸位于洞穴中(洞穴的圖片要大于舞臺(tái)子檀,晃動(dòng)的時(shí)候才不會(huì)出現(xiàn)空白)?
2、怪獸角色的程序:
????添加點(diǎn)擊綠旗的積木乃戈,點(diǎn)擊綠旗的時(shí)候讓怪獸移動(dòng)到圖層的最上層褂痰,并將旋轉(zhuǎn)方式設(shè)定為任意旋轉(zhuǎn)
????使用重復(fù)執(zhí)行的積木,每次重復(fù)執(zhí)行的時(shí)候症虑,判斷鼠標(biāo)是否點(diǎn)擊怪獸角色(碰到鼠標(biāo)和鼠標(biāo)同時(shí)按下發(fā)生),如果鼠標(biāo)正在點(diǎn)擊怪獸的時(shí)候缩歪,將怪獸的位置移動(dòng)到鼠標(biāo)的位置。?
3侦讨、這里我們設(shè)置了?兩個(gè)參數(shù)驶冒,分別為鼠標(biāo)點(diǎn)擊的?X 坐標(biāo)苟翻,和間隔?一段時(shí)間后鼠標(biāo)的?X1 坐標(biāo)韵卤,一開始?X1 坐標(biāo)為?0,當(dāng)點(diǎn)擊左側(cè)的時(shí)候崇猫,X-X1?應(yīng)該是負(fù)數(shù)沈条,因?yàn)槲覀兊慕巧谥虚g,X1?是負(fù)的诅炉,這個(gè)時(shí)候角色向左傾斜(面向60度)蜡歹。點(diǎn)擊右側(cè),X?是正數(shù)涕烧,X-X1>0月而。我們讓dx?= X-X1,那么當(dāng)?dx>0的時(shí)候,是往右移動(dòng)议纯,dx<0父款,則往左,角色傾斜向右(面向120度)?。那么當(dāng)間隔一段時(shí)間后憨攒,X1=X世杀,也就是?dx=0,這個(gè)時(shí)候角色回到中心肝集,面向?yàn)?0度瞻坝。?
完成以后,切換到全屏模式下杏瞻,使用鼠標(biāo)拖拉怪獸就可以看到傾斜的效果?
4所刀、新增另外一個(gè)點(diǎn)擊綠旗的積木,放入重復(fù)執(zhí)行捞挥,判斷鼠標(biāo)放開怪獸的時(shí)候勉痴,讓怪獸回到舞臺(tái)的中心點(diǎn).?
?5、在新增另一個(gè)綠旗被點(diǎn)擊树肃,重復(fù)執(zhí)行蒸矛,判斷怪獸彭代邊緣,dx不等于0(表示怪獸傾斜,正在被拖拉)胸嘴。就發(fā)送廣播信息(角色洞穴接受消息)?
6雏掠、怪獸角色完成以后,接著編輯洞穴角色:
? ? ? ? ?新增點(diǎn)擊小綠旗劣像,綠旗被點(diǎn)擊的時(shí)候定位到(0,0)
? ? ? ? ?新增接受到碰撞的消息積木
? ? ? ? ?接收到消息以后?通過重復(fù)十次,移動(dòng)乡话,隨機(jī)數(shù)的積木,讓洞穴晃動(dòng)10次耳奕,晃動(dòng)結(jié)束以后定位到(0,0)?
這節(jié)課就到這里绑青,課后多練習(xí)下!?
遇到問題給我留言屋群!