godot.bk

?1.搜索godot國內鏡像,直接安裝,mono是csharp版本

2.直接解壓,50m,無需安裝,直接運行?

3.godot里分為場景,節點

主場景用control場景,下面掛textureact放背景圖片,右鍵實例化子場景把角色場景加進來

角色場景用node2d場景,下面掛node2d節點,下面掛sprite節點放圖片做player

子彈場景用node2d場景,下面掛label節點寫一個“O”做子彈

如下:

4.sprite腳本

extends Sprite2D  # 繼承自Node2D,或者如果你的角色是一個精靈,可以繼承自Sprite  #var speed = 200  # 角色的移動速度,可以根據需要調整  
var bullet_speed = 100
var bullet_instance = null
@onready var bullet_scene = preload("res://botton.tscn")  
@onready var player_sprite = $player_sprite
var flag = 0;# 當節點首次進入場景樹時被調用  
func _ready():  if(player_sprite == null):print("player_sprite null>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")flag = 1;pass  # 初始化代碼可以放在這里,但在這個例子中我們不需要  func field_booton():bullet_instance = bullet_scene.instantiate() get_tree().root.add_child(bullet_instance)if(player_sprite):bullet_instance.position = player_sprite.positionelse:bullet_instance.position = position	func _process(delta):  var velocity = Vector2.ZERO  # 初始化速度為0  # 檢測WSAD鍵并設置相應的速度  if Input.is_action_pressed("ui_up"):  #velocity.y -= 1  position = position + Vector2(0, -5)if Input.is_action_pressed("ui_down"):  #velocity.y += 1  position = position + Vector2(0, 5)if Input.is_action_pressed("ui_left"):  #velocity.x -= 1  position = position + Vector2(-5, 0)if Input.is_action_pressed("ui_right"):  #velocity.x += 1  position = position + Vector2(5, 0)if Input.is_action_just_pressed("ui_accept"):  field_booton()# 標準化速度向量(可選,取決于你是否想要對角移動速度保持一致)  #if velocity.length_squared() > 0:  #velocity = velocity.normalized() * speed  # 更新角色的位置  #position += velocity * deltaif bullet_instance:bullet_instance.position.x += bullet_speed * delta

注意:
1、應該用delta保持不同平臺的移動是一樣的

2、@onready var player_sprite = $player_sprite:這個拿到的是null,不知道為什么:為什么是null,因為$是在子節點里找child,我們加腳本應該在node2d里加,不應該在sprite2d里加

3、onready已經被廢棄,使用@onready

4、instanse()已經被廢棄,使用instansite()

5、不能直接add_child(bullet_instance),而是應該get_tree().root.add_child(bullet_instance),不然子彈和sprite其實是一個節點,上下移動都是相對的

?5.botton腳本

extends Label# Called when the node enters the scene tree for the first time.
func _ready():pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):position = position + Vector2(4, 0)pass

6.注意connect在godot4也被改了,改成兩個參數了

func _ready():
# 假設我們有一個 Button 節點實例,并且我們想要連接其 'pressed' 信號到一個函數  connect("button_down", self._on_button_pressed)  # 然后定義處理按鈕點擊的函數  
func _on_button_pressed():  print("click the button")pass # Replace with function body.

7.注意button只能是contrl和node的子類,不能是node2d的子類

8.注意層級關系?

場景
main(contrl)
--background(textureact)
--player(node2d, this position add script)--player(sprite),preload(res//boom.tscn)
--A(contrl)--A(button), preload(res//menu.tscn)資源
menu.tscn(button)--get_tree().root.add_child()
boom.tscn(label or others)--get_tree().root.add_child()

9.lable不能放在node下面,應該放在node2的下面

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21419.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21419.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21419.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

961題庫 北航計算機 計算機網絡 附答案 簡答題形式

有題目和答案,沒有解析,不懂的題問大模型即可,無償分享。 第1組 習題 某網絡拓撲如題下圖所示,其中 R 為路由器,主機 H1~H4 的 IP 地址配置以及 R 的各接口 IP 地址配置如圖中所示。現有若干以太網交換機…

Python高效遍歷文件和目錄的方法

在 Python 中,遍歷文件和目錄可以使用 os、pathlib 等模塊。以下是一些高效遍歷文件和目錄的方法: 使用 os.walk() os.walk() 是一個高效的遞歸遍歷指定目錄及其子目錄的方法,它返回一個生成器,生成一個三元組 (root, dirs, fil…

Instruction-Tuningpromote tuning原理,對比區別

Instruction-Tuning 原理 Instruction-Tuning(指令調優)是一種通過對模型提供明確指令或任務描述,從而提升其在特定任務上的表現的技術。這種方法通過預先定義好的任務說明(instructions)對模型進行微調,使…

鴻蒙應用開發之OpenGL應用和X組件9

接著下來,我們來分析函數CreateProgram的實現,它是實現著色器程序的編譯、加載和刪除資源。 GLuint EGLCore::CreateProgram(const char *vertexShader, const char *fragShader) { if ((nullptr == vertexShader) || (nullptr == fragShader)) { OH_LOG_Print(L…

MySQL—函數—函數小結

一、引言 前面博客我們已經學完了MySQL的函數,下面快速的對MySQL的函數做一個小結。 在講解了MySQL的函數的時候,主要有四個方面: 1、字符串函數 (1)CONCAT:字符串連接 (2)LOWER、…

Java 多線程創建:三種主要方法

多線程編程是Java中一個重要的技術點,它允許程序并行執行多個任務,從而提高程序的執行效率。本文將詳細介紹在Java中創建多線程的三種主要方法:繼承Thread類、實現Runnable接口以及使用Callable和Future接口。 1. 繼承 Thread 類 繼承Threa…

【前端每日基礎】day34——HTTP和HTTPS

HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是互聯網通信協議,用于在Web瀏覽器和Web服務器之間傳輸數據。以下是對HTTP和HTTPS的詳細介紹: HTTP(Hypertext…

Ubuntu server 24 (Linux) IPtables 雙網卡 共享上網NAT 安裝配置DHCP

一 開啟路由轉發功能 sudo vim /etc/sysctl.conf net.ipv4.ip_forward1 sudo sysctl -p 二 安裝DHCP #更新軟件包列表: sudo apt update #安裝DHCP服務器 sudo apt install isc-dhcp-server #修改監聽網卡,根據實際修改 sudo vi /etc/default/isc-dhcp-server …

配置 HTTP 代理 (HTTP proxy)

配置 HTTP 代理 [HTTP proxy] 1. Proxies2. curl2.1. Environment2.2. Proxy protocol prefixes 3. Use an HTTP proxy (使用 HTTP 代理)3.1. Using the examples (使用示例)3.1.1. Linux or macOS3.1.2. Windows Command Prompt 3.2. Authenticating to a proxy (向代理進行身…

Tailwindcss Layout布局相關樣式及實戰案例,5萬字長文,附完整源碼和效果截圖

aspect 相關樣式類 基礎樣式 ClassPropertiesaspect-autoaspect-ratio: auto;aspect-squareaspect-ratio: 1 / 1;aspect-videoaspect-ratio: 16 / 9; 案例:引入B站視頻 Use the aspect-* utilities to set the desired aspect ratio of an element. 使用’ asp…

兩款 IntelliJ IDEA 的 AI 編程插件

介紹兩款 IntelliJ IDEA 的 AI 編程插件:通義靈碼和 CodeGeeX。 通義靈碼 這是由阿里推出的一個基于通義大模型的 AI 編碼助手。 它提供了代碼智能生成、研發智能問答等功能。通義靈碼經過海量優秀開源代碼數據訓練,可以根據當前代碼文件及跨文件的上下…

kafka-偏移量圖解

生產者偏移量:生產者發送消息時寫入到哪個位置(主題的每個分區會存儲一個 leo 即將寫入消息的偏移量),每次寫完消息 leo 會 1 消費者偏移量:消費者從哪個位置開始消費消息,小于等于 leo,每個組…

數據賦能(107)——體系:數據采集——概述、關注焦點

概述 數據采集是指利用特定設備或技術,從原始數據源中捕獲和記錄數據的過程。 數據采集的主要目的是為了獲取特定目標或現象的相關信息,以支持后續的數據分析、決策制定、業務優化等過程。 數據采集的重要性在于為企業和組織提供了關鍵的信息基礎&…

【Qt】對話框

文章目錄 1 :peach:對話框介紹:peach:2 :peach:對話框的分類:peach:2.1 :apple:模態對話框:apple:2.2 :apple:非模態對話框:apple:2.3 :apple:混合屬性對話框:apple: 3 :peach:Qt 內置對話框:peach:3.1 :apple:消息對話框 QMessageBox:apple: 1 🍑對話框介紹&#x…

如何配置Oracle的ACL權限

配置Oracle的ACL(訪問控制列表)權限是一個涉及多個步驟的過程。以下是一個清晰的步驟指南,用于配置Oracle的ACL權限: 1. 創建ACL 使用DBMS_NETWORK_ACL_ADMIN.CREATE_ACL過程來創建一個新的ACL。 sql BEGIN DBMS_NETWORK_ACL_…

pod 控制器介紹

一 pod 控制器相關理論介紹 1,Pod控制器 是什么 Pod控制器,又稱之為工作負載(workload),是用于實現管理pod的中間層,確保pod資源符合預期的狀態,pod的資源出現故障時,會嘗試進行…

頭歌springboot初體驗

頭歌(HeadGo)平臺上的Spring Boot初體驗課程為學習者提供了一個深入了解和實踐Spring Boot 框架的機會。以下是對頭歌Spring Boot初體驗課程的清晰歸納和介紹: 1. 課程概述 目標:通過本課程,學習者將能夠掌握Spring Boot的基礎知識、核心特性和實踐應用。 內容:課程內容…

[數據集][目標檢測]水下管道泄漏破損檢測數據集VOC+YOLO格式2069張2類別

數據集格式:Pascal VOC格式YOLO格式(不包含分割路徑的txt文件,僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數):2069 標注數量(xml文件個數):2069 標注數量(txt文件個數):2069 標注…

【2024年5月備考新增】】 考前篇(30)《必備資料(13) - 論文串講-干系人管理》

過程定義輸入工具技術輸出實際應用識別干系人識別能影響項目決策、 活動或結果的個人、 群體或組織,以及被 項目決策、活動或結 果所影響的個人、群 體或組織,并分析和 記錄他們的相關信息 的過程1、項目章程2、立項管理文件 3、項目管理計劃.溝通管理計劃.干系人參與計劃 4、…

時間序列的譜分解pt.2

16.dvi (berkeley.edu)https://www.stat.berkeley.edu/~bartlett/courses/153-fall2010/lectures/16.pdfpt1 時間序列的譜分解-CSDN博客