Godot Android配置指南
创作时间:
作者:
@小白创作中心
Godot Android配置指南
引用
CSDN
1.
https://m.blog.csdn.net/python_use/article/details/143097691
本文将详细介绍如何在Godot游戏引擎中配置Android开发环境。从安装必要的编译工具到最终的签名调试,每个步骤都包含详细的说明和具体的操作命令。
一、安装编译工具
1. 安装Java
- x64 Compressed Archive:下载后直接解压到某个位置,无需安装。
- x64 installer:下载后双击安装。
注意:不要通过百度直接搜索Java安装,这样你最多只能安装Java 8,而后续的操作需要最新版本的Android。
2. 安装cmdline-tools
- 访问Android官方命令行工具页面下载最新版本。
根据Godot官方手册的指示,你需要确保安装以下组件:
- Android SDK Platform-Tools 版本 34.0.0 或更高
- Android SDK Build-Tools 版本 34.0.0
- Android SDK Platform 34
- Android SDK Command-line Tools(最新)
- CMake 版本 3.10.2.4988404
- NDK 版本 r23c(23.2.8568313)
配置步骤:
- 解压下载的cmdline-tool,找到里面的bin目录。
- 打开命令提示符(cmd),输入以下命令:
sdkmanager --sdk_root=换成你的AndroidSDK路径 "platform-tools" "build-tools;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"
按照提示一路“Y”下去,完成配置。
二、下载Android模板
建议使用IDM下载工具,因为其他方式可能会遇到问题。以下是不同版本的Godot导出模板下载链接:
- 4.2.2版本:https://downloads.tuxfamily.org/godotengine/4.2.2/Godot_v4.2.2-stable_export_templates.tpz
- 4.2版本:将上述链接中的4.2.2替换为4.2
- 4.3版本:将上述链接中的4.2.2替换为4.3
同时,还需要下载rcedit工具,用于处理Windows资源文件:
- 下载链接:https://github.com/electron/rcedit/releases/tag/v2.0.0
- 选择:rcedit-x64
三、配置
1. 部署资源
- 在
C:\Users\你的用户名\AppData\Roaming\Godot\export_templates目录下新建一个名为4.2.1.stable的文件夹(根据你的Godot版本进行相应调整)。 - 将下载的
android_debug.apk和android_release.apk复制到这个目录。 - 在你的工程目录下新建一个
android文件夹,然后在其中创建一个.build_version文件,写入你的Godot版本(例如4.2.1.stable)。 - 在工程目录下新建一个
build目录,在其中创建一个.gdignore文件。 - 在
build目录下创建一个templates文件夹,将下载的android_source.zip解压到这里。
完成上述步骤后,你的文件结构应该如下:
─android
└─build
└─templates
├─assetPacks
│ └─installTime
├─assets
├─gradle
│ └─wrapper
├─libs
│ ├─debug
│ └─release
├─res
│ ├─drawable
│ ├─drawable-nodpi
│ ├─values
│ ├─values-ar
│ ├─values-bg
│ ├─values-ca
│ ├─values-cs
│ ├─values-da
│ ├─values-de
│ ├─values-el
│ ├─values-en
│ ├─values-es
│ ├─values-es-rES
│ ├─values-fa
│ ├─values-fi
│ ├─values-fr
│ ├─values-hi
│ ├─values-hr
│ ├─values-hu
│ ├─values-in
│ ├─values-it
│ ├─values-iw
│ ├─values-ja
│ ├─values-ko
│ ├─values-lt
│ ├─values-lv
│ ├─values-nb
│ ├─values-nl
│ ├─values-pl
│ ├─values-pt
│ ├─values-ro
│ ├─values-ru
│ ├─values-sk
│ ├─values-sl
│ ├─values-sr
│ ├─values-sv
│ ├─values-th
│ ├─values-tl
│ ├─values-tr
│ ├─values-uk
│ ├─values-vi
│ ├─values-zh
│ ├─values-zh-rHK
│ └─values-zh-rTW
└─src
└─com
└─godot
└─game
2. Godot配置
- 打开Godot,点击
项目 -> 导出,选择Android。 - 点击
修复导入。 - 进入
编辑器 -> 编辑器设置,将SDK路径设置为你刚安装的SDK根目录。 - 再次点击
项目 -> 导出,选择Android,此时应该可以成功导出到Android平台。
输入设置
为了让游戏在手机和平板电脑上支持触屏输入,需要在Godot中进行以下设置:
- 在
项目 > 项目设置的Input Devices > Pointing下,启用Emulate Touch From Mouse。 - 在
Display设置中进入Window,在Stretch选项中将Mode设置为2d,Aspect设置为keep。 - 在
Handheld下将Orientation设置为portrait。
接下来,我们需要修改Player.gd脚本来改变输入方式。以下是修改后的完整脚本:
extends Area2D
signal hit
export var speed = 400
var screen_size
# Add this variable to hold the clicked position.
var target = Vector2()
func _ready():
hide()
screen_size = get_viewport_rect().size
func start(pos):
position = pos
# Initial target is the start position.
target = pos
show()
$CollisionShape2D.disabled = false
# Change the target whenever a touch event happens.
func _input(event):
if event is InputEventScreenTouch and event.pressed:
target = event.position
func _process(delta):
var velocity = Vector2()
# Move towards the target and stop when close.
if position.distance_to(target) > 10:
velocity = target - position
if velocity.length() > 0:
velocity = velocity.normalized() * speed
$AnimatedSprite.play()
else:
$AnimatedSprite.stop()
position += velocity * delta
# We still need to clamp the player's position here because on devices that don't
# match your game's aspect ratio, Godot will try to maintain it as much as possible
# by creating black borders, if necessary.
# Without clamp(), the player would be able to move under those borders.
position.x = clamp(position.x, 0, screen_size.x)
position.y = clamp(position.y, 0, screen_size.y)
if velocity.x != 0:
$AnimatedSprite.animation = "walk"
$AnimatedSprite.flip_v = false
$AnimatedSprite.flip_h = velocity.x < 0
elif velocity.y != 0:
$AnimatedSprite.animation = "up"
$AnimatedSprite.flip_v = velocity.y > 0
func _on_Player_body_entered( body ):
hide()
emit_signal("hit")
$CollisionShape2D.set_deferred("disabled", true)
签名调试
在项目根目录下打开命令提示符(cmd),运行以下命令生成调试密钥库:
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.jks -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
最后,在Godot的导出设置中配置签名信息,即可成功导出APK文件。
参考文档:
热门推荐
关于教师特岗报名与报考流程的权威指南:报名网站及步骤解析(2024版)
痛风能吃茼蒿吗
胎停造成的心理影响如何缓解?
环境生物入侵者与预防措施
低血容量性休克的抢救措施
车主必看!车速与油耗的奥秘,如何找到最佳平衡点?
清晨空腹喝蜂蜜水的好处? 早上起床喝蜂蜜水好不好?
如何举报小红书APP|详解举报攻略,维护良好社区环境
大蒜发芽了还能吃吗
房租支付方式的法律适用与合同条款设计
青山秀水田园育好食材,春季“十大碗”为啥是它们
人生一世,草木一秋。6首古诗词,诉尽人生苦短,浮生若梦
舟楫中国:探寻中国舟船文明的奥秘
极致风味跃指间:秘制煎饼果子大解密
中药对体重异常及其相关疾病的干预作用
从大学讲师到首席院士:你需要做好哪些准备?
如何塑造配角人物:从形式与意义到戏份分配与细节
复方感冒灵颗粒与牛黄解毒片可以同服吗
酒精对肝脏的损害及保肝治疗策略
深圳加速驶向世界一流汽车城
深圳加速驶向世界一流汽车城
大众科普——高血压能献血吗?
大众科普——高血压能献血吗?
香水品牌设计名字怎么起?
巴萨本菲卡交锋历史:小组赛中曾上演进球大战,巴萨4胜4平2负占优
预制菜的便利与健康解析:现代快节奏生活的双刃剑
胸腔积液的症状和体征
海带的神奇秘密
哺乳期可以喝葡萄酒吗?专家建议与注意事项
告别嘈杂社交数据,让社交推荐更精准!