2024-01-25 周四

2024年1月25日09:11:24

首先猛拴, 先看看座位鎖定的功能需求和實(shí)現(xiàn)羹铅。?

2024年1月25日09:32:10

彈幕猿 測(cè)試了瞧柔。?


需求? 。玩家身上右鍵可以喚出操作面板睦裳,增加鎖定造锅、解鎖操作按鈕?





func _on_Player_gui_input(event):

if TowerSceneManager.is_in_tower:

return

if event is InputEventMouseButton and event.button_index == BUTTON_RIGHT and event.pressed:

fang_zhu_menu.user = user

fang_zhu_menu.uid = uid

fang_zhu_menu.popup(Rect2(get_global_mouse_position(), fang_zhu_menu.rect_size))


這段代碼是另一個(gè)使用GDScript編寫的函數(shù),通常用于處理Godot游戲中的GUI輸入事件廉邑。下面是對(duì)這段代碼的詳細(xì)解釋:

1. **函數(shù)定義**:

? ```gdscript

? func _on_Player_gui_input(event):

? ```

? 這里定義了一個(gè)名為`_on_Player_gui_input`的函數(shù)哥蔚,它接受一個(gè)參數(shù)`event`。這個(gè)參數(shù)代表輸入事件蛛蒙,可能是鼠標(biāo)點(diǎn)擊椿肩、鍵盤按鍵等箕母。在Godot中,以`_`開(kāi)頭的函數(shù)通常表示它是一個(gè)回調(diào)函數(shù),用于響應(yīng)某些事件或是系統(tǒng)調(diào)用牡属。

2. **檢查是否在特定場(chǎng)景**:

? ```gdscript

? if TowerSceneManager.is_in_tower:

? ? ? return

? ```

? 這部分代碼檢查一個(gè)名為`TowerSceneManager`的對(duì)象(可能是一個(gè)單例或全局變量)的`is_in_tower`屬性钝腺。如果`is_in_tower`為真躏啰,表明當(dāng)前處于某個(gè)特定的“塔”場(chǎng)景中婶博,函數(shù)會(huì)立即返回,不執(zhí)行后續(xù)操作收奔。這可能是為了避免在特定場(chǎng)景中處理不相關(guān)的輸入事件掌呜。

3. **處理鼠標(biāo)右鍵點(diǎn)擊事件**:

? ```gdscript

? if event is InputEventMouseButton and event.button_index == BUTTON_RIGHT and event.pressed:

? ```

? 這里檢查`event`是否是一個(gè)`InputEventMouseButton`事件(即鼠標(biāo)事件),同時(shí)檢查是否是右鍵(`BUTTON_RIGHT`)被按下(`event.pressed`)坪哄。如果這些條件都滿足质蕉,意味著用戶進(jìn)行了鼠標(biāo)右鍵的點(diǎn)擊操作。

4. **配置并顯示彈出菜單**:

? ```gdscript

? fang_zhu_menu.user = user

? fang_zhu_menu.uid = uid

? fang_zhu_menu.popup(Rect2(get_global_mouse_position(), fang_zhu_menu.rect_size))

? ```

? 這部分代碼首先設(shè)置`fang_zhu_menu`(可能是一個(gè)預(yù)先定義的菜單對(duì)象)的`user`和`uid`屬性翩肌。這些屬性可能用于在菜單中顯示或處理與特定用戶相關(guān)的信息模暗。接著,調(diào)用`popup`方法顯示這個(gè)菜單念祭。`popup`方法接受一個(gè)`Rect2`對(duì)象作為參數(shù)兑宇,這個(gè)對(duì)象由當(dāng)前全局鼠標(biāo)位置(`get_global_mouse_position()`)和菜單的尺寸(`fang_zhu_menu.rect_size`)構(gòu)成,確保菜單在用戶點(diǎn)擊的位置彈出棒卷。

總體來(lái)看顾孽,這個(gè)函數(shù)的作用是在特定條件下(不在“塔”場(chǎng)景中且用戶進(jìn)行鼠標(biāo)右鍵點(diǎn)擊)祝钢,顯示一個(gè)上下文相關(guān)的菜單比规。這在游戲或應(yīng)用程序中是一種常見(jiàn)的交互方式,用于提供與當(dāng)前上下文相關(guān)的選項(xiàng)或功能拦英。

2024年1月25日09:55:42?

一臉懵逼啊蜒什。?

這樣,如果是我要做這個(gè)需求疤估,我 應(yīng)該怎么搞灾常,這個(gè)思路霎冯。

所以第一個(gè)問(wèn)題? 右鍵操作面板,增加鎖定钞瀑、解鎖操作按鈕

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沈撞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雕什,更是在濱河造成了極大的恐慌缠俺,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贷岸,死亡現(xiàn)場(chǎng)離奇詭異壹士,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)偿警,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門躏救,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人螟蒸,你說(shuō)我怎么就攤上這事盒使。” “怎么了七嫌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵忠怖,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我抄瑟,道長(zhǎng)凡泣,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任皮假,我火速辦了婚禮鞋拟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惹资。我一直安慰自己贺纲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布褪测。 她就那樣靜靜地躺著猴誊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侮措。 梳的紋絲不亂的頭發(fā)上懈叹,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音分扎,去河邊找鬼澄成。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墨状。 我是一名探鬼主播卫漫,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肾砂!你這毒婦竟也來(lái)了列赎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤镐确,失蹤者是張志新(化名)和其女友劉穎粥谬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辫塌,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漏策,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了臼氨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掺喻。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖储矩,靈堂內(nèi)的尸體忽然破棺而出感耙,到底是詐尸還是另有隱情,我是刑警寧澤持隧,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布即硼,位于F島的核電站,受9級(jí)特大地震影響屡拨,放射性物質(zhì)發(fā)生泄漏只酥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一呀狼、第九天 我趴在偏房一處隱蔽的房頂上張望裂允。 院中可真熱鬧,春花似錦哥艇、人聲如沸绝编。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)十饥。三九已至,卻和暖如春祖乳,著一層夾襖步出監(jiān)牢的瞬間逗堵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工凡资, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留砸捏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓隙赁,卻偏偏與公主長(zhǎng)得像垦藏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伞访,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 00:03 沒(méi)有主題就都是流水賬 這個(gè)點(diǎn)不知道誰(shuí)觸發(fā)了樓下停泊的電瓶車 報(bào)警器響得讓人心煩 過(guò)去的一天依然是好天氣...
    開(kāi)囍閱讀 25評(píng)論 0 1
  • 用到的組件 1掂骏、通過(guò)CocoaPods安裝 2、第三方類庫(kù)安裝 3厚掷、第三方服務(wù) 友盟社會(huì)化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,609評(píng)論 1 180
  • 命令分類 操作瀏覽器的:close弟灼,goBack ,createCookie ,deleteAllVisibleC...
    BI羅閱讀 1,821評(píng)論 0 0
  • 菜單Menu設(shè)計(jì)的基本概念 窗口中一般有菜單設(shè)計(jì),菜單是一種下拉式窗體抡爹,在這種窗體中可以設(shè)計(jì)菜單列表掩驱。建立菜單的方...
    蟬時(shí)雨丶閱讀 986評(píng)論 0 0
  • HarmonyOS開(kāi)發(fā)學(xué)習(xí)筆記 基本步驟 開(kāi)發(fā)環(huán)境搭建 按照官網(wǎng)步驟 語(yǔ)言選擇 官方建議選擇arkTs(TypeS...
    小仙女喂得豬呀閱讀 476評(píng)論 0 3