最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

RTS游戲框選移動

2019-08-01 17:31 作者:喚境官方  | 我要投稿

本教程將教大家實現(xiàn)RTS游戲中的框選選中人物、右鍵點擊移動的功能。

功能結(jié)構(gòu)

本教程有5個需要實現(xiàn)的功能

  1. 框選角色

  2. 在框選的角色身上生成選中框

  3. 人物移動

  4. 鼠標移到屏幕邊緣時移動視野

  5. 場景視野縮放

布置場景

首先,我們新建3個圖層

  • HUD: 放置選中框、框選框

  • 人物:放置可操作角色

  • 背景圖:放置背景圖片

創(chuàng)建士兵對象,為該對象添加自動尋路能力

創(chuàng)建框選框、選中框?九宮格對象,編輯九宮格縮放邊距

創(chuàng)建背景圖片

將對象放入各自圖層中

實現(xiàn)框選

添加全局變量?最后點擊x、最后點擊y,用于后面控制框選框的位置


士兵對象添加實例變量【是否選中


新建事件分組【框選


當左鍵點擊士兵時,士兵狀態(tài)變?yōu)檫x中


左鍵點擊空白位置時,士兵狀態(tài)變?yōu)槲催x中


設置全局變量,當鼠標左鍵按下時,【最后點擊x/最后點擊y】的值為鼠標的坐標

當按住左鍵時,并且當前鼠標的坐標與最后點擊坐標距離超過16像素時,顯示框選框,并設置坐標大小
位置公式:x:min(鼠標操作.x, 最后點擊x)????y:min(鼠標操作.y, 最后點擊y)
尺寸公式:abs(鼠標操作.x - 最后點擊x)????abs(鼠標操作.y - 最后點擊y)

最后,當鼠標松開、或者距離小于16時,隱藏框選框


實現(xiàn)以上事件后,預覽游戲,即可看到效果。 按住鼠標左鍵拖動,框選框就會顯示。

接下來實現(xiàn)框選選中人物的邏輯。 當鼠標左鍵松開時,根據(jù)框選框的位置,將其中的士兵狀態(tài)設置為選中狀態(tài)

以上便是框選事件的全部邏輯,下圖為事件表全圖

生成選中框

下面我們實現(xiàn)選中框的邏輯

首先,當松開鼠標左鍵時,先銷毀之前生成的選中框


在該事件下建立局部變量local_被選中單位數(shù)


根據(jù)被選中的士兵的數(shù)量,設置局部變量


根據(jù)local_被選中單位數(shù),循環(huán)創(chuàng)建選中框


新建事件,每幀設置選中框的坐標和大小
坐標公式:X:士兵.bboxleft-2 ????y:士兵.bboxtop-2
尺寸公式:寬度:士兵.bboxright-士兵.bboxleft+4 ?????高度:士兵.bboxbottom-士兵.bboxtop+4

實現(xiàn)以上邏輯后,當左鍵點擊或框選住士兵后,士兵的位置就會自動生成選中框

右鍵點擊移動

新建事件,當松開鼠標右鍵、鼠標沒有懸停在士兵上并且存在選中士兵時,執(zhí)行動作。


子事件下,新建局部變量:local_平均x,local_平均y


循環(huán)所有被選中士兵,將士兵的坐標加在實例變量上


實例變量除以士兵的數(shù)量,計算平均值。然后根據(jù)平均值,讓士兵開啟自動尋路。
尋路坐標公式:?X:鼠標操作.x+ self.x-local_平均x ????Y:鼠標操作.y+ self.y-local_平均y


新建事件,當士兵尋路成功時,沿路徑移動

以上即是移動的全部事件,當選中士兵后右鍵點擊地圖,士兵就是自動移動過去。事件全圖如下:

滾屏鏡頭移動

鏡頭的移動比較簡單,當鼠標到達屏幕邊緣時,每幀移動鏡頭即可

視野縮放

最后是通過鼠標滾輪實現(xiàn)視野縮放,通過表達式layoutscale可以獲取當前場景的縮放比例(默認是1)。

以上便是實現(xiàn)RTS框選移動的全部事件。

點擊下載全能無需編程的喚境引擎!? ? ? ??

https://www.evkworld.cn/?c=600005&sc=600019&auto=1


RTS游戲框選移動的評論 (共 條)

分享到微博請遵守國家法律
柳林县| 邳州市| 达州市| 澄江县| 阿拉善左旗| 龙州县| 布拖县| 城步| 大荔县| 阳江市| 安陆市| 五莲县| 安溪县| 永兴县| 衡东县| 洛宁县| 五常市| 信丰县| 文登市| 苍溪县| 丹阳市| 苍南县| 岱山县| 濉溪县| 安达市| 克山县| 突泉县| 安顺市| 靖宇县| 腾冲县| 巴林右旗| 黔西县| 鞍山市| 海口市| 北京市| 仁化县| 皮山县| 巨野县| 浪卡子县| 隆化县| 瑞昌市|