正在导出¶
概述¶
既然你有了一个有效的游戏,你可能想和别人分享你的成功。但是,让你的朋友下载Godot,这样他们就可以打开你的项目,这是不现实的。相反,你可以 导出 您的项目,将其转换为任何人都可以运行的“包”。
导出游戏的方式取决于您的目标平台。在本教程中,您将学习如何为各种平台导出“闪避爬行”游戏。然而,首先,我们需要对游戏的工作方式做一些改变。
注解
如果你还没有自己做过“闪避恐惧”,请阅读 你的第一场比赛 在继续本教程之前。
准备项目¶
在“闪避恐惧”中,我们使用键盘控制来移动玩家的角色。如果您的游戏是在PC平台上玩的,这是很好的,但是在手机或平板电脑上,您需要支持触摸屏输入。因为点击事件可以被视为触摸事件,我们将把游戏转换为点击和移动输入样式。
默认情况下,Godot从触摸输入模拟鼠标输入。这意味着,如果对鼠标事件进行编码,触摸也会触发事件。如果您出于任何原因想禁用它,或者从鼠标输入中模拟触摸,您可以在下面的“项目设置”中执行此操作。 输入设备 和 磨尖
在更改输入方法之前,请在项目设置中转到 显示 ,然后单击 窗口 . 在 伸展 选项,设置 Mode 至“2d”和 方面 “保留”。这可以确保游戏在不同大小的屏幕上持续缩放。
接下来,我们需要修改 Player.gd
脚本以更改输入方法。我们将移除按键输入,让玩家朝着触摸(或点击)事件设置的“目标”移动。
以下是玩家的完整脚本,其中的注释说明了我们所做的更改:
extends Area2D
signal hit
export var speed = 400
var velocity = Vector2()
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):
# Move towards the target and stop when close.
if position.distance_to(target) > 10:
velocity = (target - position).normalized() * speed
else:
velocity = Vector2()
# Remove keyboard controls.
# if Input.is_action_pressed("ui_right"):
# velocity.x += 1
# if Input.is_action_pressed("ui_left"):
# velocity.x -= 1
# if Input.is_action_pressed("ui_down"):
# velocity.y += 1
# if Input.is_action_pressed("ui_up"):
# velocity.y -= 1
if velocity.length() > 0:
velocity = velocity.normalized() * speed
$AnimatedSprite.play()
else:
$AnimatedSprite.stop()
position += velocity * delta
# We don't need to clamp the player's position
# because you can't click outside the screen.
# position.x = clamp(position.x, 0, screensize.x)
# position.y = clamp(position.y, 0, screensize.y)
if velocity.x != 0:
$AnimatedSprite.animation = "right"
$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)
导出模板¶
要导出,需要下载 导出模板 从http://godotenengine.org/download下载。这些模板是引擎的优化版本,没有为每个平台预先编译的编辑器。你也可以点击Godot下载 Editor -> Manage Export Templates :
在出现的窗口中,您可以单击“下载”以获取与您的Godot版本匹配的模板版本。
注解
如果升级Godot,则必须下载与新版本匹配的模板,否则导出的项目可能无法正常工作。
导出预设¶
接下来,您可以通过单击配置导出设置 Project -> Export :
通过单击“添加…”并选择平台来创建新的导出预设。您可以使用不同的设置进行任意多个预设。
窗口底部有两个按钮。”export pck/zip“仅创建项目数据的压缩版本。这不包括可执行文件,因此项目不能单独运行。
第二个按钮“导出项目”创建游戏的完整可执行版本,例如 .apk 对于Android或 .exe 对于Windows。
在“资源”和“功能”选项卡中,您可以自定义如何为每个平台导出游戏。我们可以暂时不使用这些设置。
按平台导出¶
在本节中,我们将介绍每个平台的流程,包括您需要的任何附加软件或需求。
PC(Linux/MacOS/Windows)¶
在三个受支持的操作系统中,导出PC平台的工作原理相同。打开导出窗口并单击“添加…”以创建要制作的预设。然后单击“导出项目”,选择一个名称和目标文件夹。选择一个位置 外部 项目文件夹的。
单击“保存”,引擎将生成导出文件。
注解
当为MacOS导出时,如果在MacOS计算机上导出,将以 .dmg 文件,在使用Linux或Windows时生成 .zip . 无论哪种情况,压缩文件都包含MacOS .app 你可以双击并运行。
注解
在Windows上,如果希望导出的可执行文件具有与默认文件不同的图标,则需要手动更改该图标。见: 更改Windows的应用程序图标 .
安卓¶
小技巧
移动设备具有多种功能。在大多数情况下,Godot的默认设置是可行的,但移动开发有时比科学更艺术,你可能需要做一些实验和寻找帮助,以使一切正常工作。
在导出Android项目之前,必须下载以下软件:
Android SDK:https://developer.android.com/studio/
JavaJDK:HTTP://www. Oracle .COM/TeaTeWorks/Java/JavaSe/Dealths/Dex.HTML
首次运行Android Studio时,请单击 Configure -> SDK Manager 安装“android sdk平台工具”。这将安装 adb godot用来与设备通信的命令行工具。
接下来,通过在系统的命令行上运行以下命令来创建调试密钥库:
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
点击 Editor -> Editor Settings 在Godot中选择 Export/Android 第节。在这里,您需要设置系统上Android SDK应用程序的路径以及刚刚创建的密钥库的位置。
现在可以导出了。点击 Project -> Export 并为Android添加预设(见上文)。
单击“导出项目”按钮,Godot将构建一个您可以在设备上下载的APK。要在命令行上执行此操作,请使用以下命令:
adb install dodge.apk
注解
您的设备可能需要在 开发人员模式 . 有关详细信息,请参阅设备文档。
如果您的系统支持,连接兼容的Android设备将导致“一键部署”按钮出现在Godot的PlayTest按钮区域:
单击此按钮可构建APK并将其一步复制到您的设备上。
网间网操作系统¶
注解
为了建立你的iOS游戏,你必须有一台运行MacOS的电脑安装了Xcode。
在导出之前,有一些设置 must 项目导出成功完成。首先是“应用商店团队ID”,您可以通过登录到您的Apple开发人员帐户并在“成员资格”部分找到它。
您还必须提供图标和启动屏幕图像,如下所示:
单击“导出项目”并选择目标文件夹。
成功导出项目后,您将发现在所选位置创建了以下文件夹和文件:
现在您可以在Xcode中打开该项目并为iOS构建该项目。Xcode构建过程超出了本教程的范围。有关详细信息,请参阅https://help.apple.com/xcode/mac/current//devc8c2a6be1。
HTML5(网络)¶
单击HTML5预设中的“导出项目”。我们不需要更改任何默认设置。
导出完成后,您将拥有一个包含以下文件的文件夹:
查看 .html 浏览器中的文件允许您玩游戏。但是,您不能直接打开该文件,它需要由Web服务器提供服务。如果你的电脑上没有设置,你可以使用谷歌为你的特定操作系统找到建议。
将浏览器指向放置HTML文件的URL。您可能需要等待几分钟,而游戏加载,然后才能看到开始屏幕。
游戏下方的控制台窗口告诉您是否有任何问题。在导出项目时,可以通过将“使用调试导出”设置为关闭来禁用它。
注解
对WASM的浏览器支持并不十分广泛。火狐和Chrome都支持它,但是你可能仍然会发现一些不起作用的东西。确保已将浏览器更新为最新版本,并报告在 Godot Github repository .