Xojo(多功能应用程序开发环境)
v2016 免费版- 软件大小:165.85 MB
- 更新日期:2020-12-17 17:04
- 软件语言:英文
- 软件类别:游戏工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Xojo for Windows是一款多功能应用程序开发环境,与其它多平台开发工具相比,它为开发人员提供了显着的生产率提高;Xojo包含拖放功能,使您能够快速创建用户界面设计,然后将其背后的代码合并以增加功能和功能;该程序与Visual Basic高度兼容,因此Visual Basic开发人员使用该工具可以非常迅速地提高生产率;Xojo桌面版它还附带了一个实用程序,可帮助用户将Visual Basic项目转换为应用程序,然后单击复选框即可针对macOS,Windows,Linux,Web和iOS对其进行编译;它可以运行,并通过一组源代码为所有平台以及Web创建软件;该程序结合了特定于平台的智能,例如用户界面小部件,因此,无论使用何种工具创建平台,使用该工具创建的应用程序都具有本机外观;使用基于SQLite公共域数据库引擎的应用程序内置数据库来构建功能强大的数据库应用程序,它支持矢量图形的标准图像格式!
软件功能
创建任何内容
借助对图形,数据库服务器,Internet协议等的内置支持
您可以构建几乎可以用该软件想象的任何内容。
使用它,您可以制作商业软件产品,实用程序以帮助您简化生活,甚至学习编程。
实际上,该工具本身就是应用程序!
加快构建应用程序10倍的速度
您可以使用一组源代码来支持多个平台,并且内置40多个用户界面控件
使您的应用程序可以在任何平台上看起来和表现出您想要的样子。
在网络上,您可以使用一种功能强大的语言来代替HTML,CSS,PHP,JavaScript
或AJAX来创建网络应用程序,从而节省了大量的开发时间!
软件特色
现代发展:该软件是一种现代的,面向对象的语言。
它支持继承,接口,多态性,并且也是强类型的。
OS API调用有数千种差异,该程序将您从这些细节中抽象出来
从而大大减少了开发时间,并使您可以专注于使应用程序与众不同的方面。
本机,跨平台
这些应用程序没有解释程序或虚拟机-它们被编译为机器代码
可以快速执行并保护您的知识产权。
该工具使用本机控件,因此您的应用在每个平台上的外观和感觉都正确。
开发也是跨平台的。
在您喜欢的操作系统上创建您的项目,然后为该应用程序支持的任何平台进行构建。
安装步骤
1、用户可以点击本网站提供的下载路径下载得到对应的程序安装包
2、只需要使用解压功能将压缩包打开,双击主程序即可进行安装,弹出程序安装界面
3、同意上述协议条款,然后继续安装应用程序,点击同意按钮即可
4、可以根据自己的需要点击浏览按钮将应用程序的安装路径进行更改
5、弹出以下界面,用户可以直接使用鼠标点击下一步按钮
6、桌面快捷键的创建可以根据用户的需要进行创建,也可以不创建
7、现在准备安装主程序,点击安装按钮开始安装
8、弹出应用程序安装进度条加载界面,只需要等待加载完成即可
9、根据提示点击安装,弹出程序安装完成界面,点击完成按钮即可
使用教程
欢迎来到Xojo!如果您是Xojo的新手,或者甚至是完全编程的人,您都可以通过多种方式快速入门。
Xojo可免费用于开发,测试和调试。开始:
下载适用于您的操作系统的Xojo
启动Xojo
(可选)使用您的Xojo帐户(即您在Xojo.com上设置的电子邮件和密码)登录。
登录后,您购买的所有许可证都会自动下载。
如果在使用这些资源时有任何疑问,请发送电子邮件至hello@xojo.com。
如果您喜欢阅读,则应该阅读快速入门指南
这些指南将为您提供Xojo用户界面以及如何创建简单,可运行的应用程序的快速概述。
您应该能够在30分钟或更短的时间内完成每个快速入门。
即使您熟悉其他开发工具,也应鼓励您花时间至少阅读一个QuickStart,以帮助您熟悉Xojo的工作方式。
如果您尚未这样做,那么现在是启动Xojo的时候了。完成加载后,将显示“项目选择器”窗口。
Xojo使您可以构建几种不同类型的应用程序(桌面,Web,控制台和iOS)。对于本教程,您将构建一个桌面应用程序,因此请单击“桌面”。
现在,您应该看到三个需要值的字段:“应用程序名称”,“公司名称”和“应用程序标识符”。
应用程序名称是您的应用程序的名称。这将是创建的实际应用程序文件的文件名。
公司名称是您公司的名称。您可以选择将此空白留空。
应用程序标识符是此应用程序的唯一标识符。它会使用您为“应用程序名称”和“公司名称”输入的内容自动填充,但您也可以将其更改为所需的名称。
输入“ TaskManager”作为应用程序名称。您可以保留公司名称不变或更改它。单击“确定”打开Xojo主窗口(称为工作区),您将在其中开始设计应用程序。
工作空间
Xojo将使用在浏览器中选择并在布局编辑器中显示的应用程序的默认窗口打开工作区。
任务管理器
对于任务管理器应用程序,您在文本字段中输入任务,然后单击添加以将其添加到列表中。您可以单击列表中的单个任务以将其删除或将其标记为已完成。
任务管理器使用三种类型的控件:
列表框:一个可滚动列表的控件。它可以显示单列列表和多列列表,并且可以水平和垂直滚动。
文本字段:用于输入单行文本的控件。
按钮:标准按钮。它最常用于启动动作。
在下一部分中,您将逐步创建此应用。
设计用户界面
任务列表
您应该运行Xojo,并在布局编辑器中打开Window1。现在,您要在窗口中添加一个列表框。列表框用于存储任务。
添加列表框:在控件库中,单击列表框并将其拖动到布局编辑器的左上角。当您靠近窗口边缘时,将看到对齐指示器,可帮助您放置控件。当您对列表框的位置满意时,将其放下。
调整列表框的大小:单击列表框,以便显示调整大小的句柄。抓住右下角的手柄并将其拖动以放大列表框,以填充窗口的顶部2/3。
纽扣
现在,您将“任务管理器”所需的三个按钮添加到窗口中。
删除按钮从列表框中删除任务,添加按钮将任务添加到列表框中,完成按钮将列表框中的任务标记为已完成。
添加删除按钮:在“库”中,单击“通用按钮”控件,然后将其拖动到“列表框”右下角下方的窗口中。使用对齐指示器帮助您定位按钮,使其与列表框的右边缘对齐
添加“添加按钮”:在“库”中,单击“通用按钮”控件,然后将其拖动到左下角附近的窗口中。同样,利用对齐指示器来帮助您放置按钮。
添加完成按钮:在“库”中,单击“通用按钮”控件,然后将其拖动到右下角附近的窗口中。
文本域
用户在“文本字段”中键入要添加到列表的任务。
在库中,单击TextField并将其拖动到窗口中,使其位于Delete和Add按钮之间。
调整“任务”字段的大小。选择最右边的拖动手柄,然后拖动TextField,使其与列表框的宽度相同。使用对齐指示器作为指导,以帮助您正确排列所有内容。
添加所有控件后,窗口布局现在应如下所示:
属性是对象的值。更改属性值使您可以更改对象的行为。对于此项目,您想要更改视图和添加的控件的各种属性。您需要做的一些事情是:
重命名所有控件(和窗口),以便它们描述其行为并易于在代码中引用。
将标题添加到按钮。
设置锁定属性,以便在调整窗口大小时可以正确调整控件的大小。
检验员
检查器用于更改视图和控件属性。它在工作区右侧与库共享同一区域。为了显示检查器,请单击工具栏上的检查器按钮或按⌘-I(在Windows和Linux中为Ctrl + I)。
窗口属性
如果还没有,请通过单击工具栏上的“检查器”按钮来显示“检查器”。您需要更改窗口的名称和标题属性:
首先,在布局编辑器中,单击窗口的标题栏以将其选中。现在,检查器将显示窗口的属性。
在名称字段(位于ID组中)中,将名称从“ Window1”更改为“ TaskManagerWindow”。按Return键以在导航器中查看名称更改。
在标题字段(位于框架组中)中,将名称从“无标题”更改为“任务管理器”。按回车键可在窗口标题栏中查看名称更改。
列表框属性
列表框是显示和存储用户输入的任务的位置。您需要更改以下属性:名称,具有标题,列数,初始值,列宽和锁定。
首先,在布局编辑器中,单击列表框以将其选中。现在,检查器将显示“列表框”的属性。
在“名称”字段(位于ID组中)中,将名称从“ Listbox1”更改为“ TaskList”。按Return键以在导航器中查看名称更改。
列表框将有一个标题。找到“具有标题”属性,然后将值从“关闭”更改为“打开”。
列表框有两列,一列显示完成状态,另一列显示任务名称。在“列数”字段中,将值从“ 1”更改为“ 2”。按Return键,将看到具有两列布局的列表框。
您想要更改列标题以描述列表中的数据。找到“初始值”属性,然后单击其右侧的“铅笔”图标。这将打开一个小的编辑器窗口,您可以在其中输入列标题值。
键入“已完成”,按Tab键,然后键入“任务”。
单击确定按钮。您将看到ListBox的列标题更改。
由于“完成”按钮仅在任务被标记为“完成”时才会包含一个简单的选中标记,因此可以缩小范围。在“列宽”字段中,输入值“ 100,*”。按回车键以查看列宽的变化。使用“ 100,*”告诉列表框,第一列应始终为100像素宽,其余列共享可用宽度。
最后,您需要更改锁定,以便随着窗口大小的更改,列表框变得更大或更小。在“锁定”组中,查看显示窗口的图像,该窗口的顶部和左侧为小锁定图标,底部和右侧为小解锁图标。单击锁定,以便将顶部,左侧,底部和右侧全部锁定。
按钮属性
这三个按钮用于执行操作。您需要为每个按钮更改以下属性:名称,标题和锁定。
删除按钮
删除按钮用于从任务列表中删除任务。
首先,在布局编辑器中,单击“删除”按钮将其选中(这是“列表框”正下方的按钮)。现在,检查器将显示PushButton的属性。
在“名称”字段(位于ID组中)中,将名称从“ PushButton1”更改为“ DeleteButton”。按Return键以在导航器中查看名称更改。
在“标题”字段(位于“外观”组中)中,将名称从“按钮”更改为“删除”。按回车键以查看窗口中按钮上的名称更改。
现在,您需要更改锁定,以便在调整窗口大小时将“删除”按钮保留在窗口的右侧。
在“锁定”组中,查看显示窗口的图像,该窗口的顶部和左侧为小锁定图标,底部和右侧为小解锁图标。
单击锁定,以便右和底部被锁定,左和顶部被解锁。
添加按钮
“添加”按钮用于将在“文本字段”中输入的任务添加到“任务列表”。
在布局编辑器中,单击“添加”按钮以将其选中(这是“文本字段”下方窗口最左侧的按钮)。现在,检查器将显示PushButton的属性。
在名称字段(位于ID组中)中,将名称从“ PushButton2”更改为“ AddButton”。按Return键以在导航器中查看名称更改。
在标题字段(位于外观组中)中,将名称从“按钮”更改为“添加”。按回车键以查看窗口中按钮上的名称更改。
现在,您需要更改锁定,以便在调整窗口大小时将“添加”按钮保持在窗口底部。
在“锁定”组中,查看显示窗口的图像,该窗口的顶部和左侧为小锁定图标,底部和右侧为小解锁图标。
单击锁定,以便左和底部被锁定而顶部和右侧被解锁。
完成按钮
“完成”按钮用于将任务标记为已完成。
在布局编辑器中,单击“完成”按钮以将其选中(这是右侧“文本字段”正下方的按钮)。现在,检查器将显示PushButton的属性。
在名称字段(位于ID组中)中,将名称从“ PushButton3”更改为“ CompleteButton”。按Return键以在导航器中查看名称更改。
在标题字段(位于外观组中)中,将名称从“按钮”更改为“完成”。按回车键以查看窗口中按钮上的名称更改。
现在,您需要更改锁定,以便在调整窗口大小时将“完成”按钮保留在窗口的右侧。
在“锁定”组中,查看显示窗口的图像,该窗口的顶部和左侧为小锁定图标,底部和右侧为小解锁图标。
单击锁定,以便右和底部被锁定,左和顶部被解锁。
在项目列表中,新重命名的控件显示在TaskManagerPage的控件下。
文字栏位属性
用户将在TextField中键入要添加到列表中的任务。您需要更改以下属性:名称和锁定。
在布局编辑器中,单击“文本字段”以将其选中。现在,检查器将显示TextField的属性。
在“名称”字段(位于ID组中)中,将名称从“ TextField1”更改为“ TaskField”。按Return键以在导航器中查看名称更改。
现在,您需要更改锁定,以便在调整窗口大小时TextField变得更大或更小。
在“锁定”组中,查看显示窗口的图像,该窗口的顶部和左侧为小锁定图标,底部和右侧为小解锁图标。
单击锁,以便左,下和右被锁定,并且上锁被解锁。
运行应用
您的用户界面布局现已完成,现在该尝试一下了。但是在继续之前,您应该首先保存您的工作。
通过选择文件↠保存来保存项目。
将项目命名为“ TutorialDesktop”,然后单击“保存”。
现在您可以测试您的应用了:
单击工具栏中的“运行”按钮以运行项目。
显示任务管理器后,您可以通过单击按钮来与按钮进行交互,可以在文本字段中键入内容,还可以调整窗口大小以查看按钮自身的位置。
从应用程序的菜单中选择退出以返回到布局编辑器。
当然,任务管理器什么也不做!为此,您需要添加一些代码,接下来将要做的。
添加代码
添加按钮
添加按钮将任务添加到列表中。您添加到按钮的代码需要采用在TaskField中键入的内容,并将其作为新行添加到列表中。
请按照以下步骤添加代码:
在窗口上,双击标有“添加”的AddButton控件。
出现“添加事件处理程序”窗口。当按下按钮时,将调用Action事件处理程序。
这意味着您要将代码添加到Action事件处理程序中,因此从“事件处理程序”列表中选择“操作”,然后单击“确定”。
这将显示代码编辑器。还要注意导航器更新,以在AddButton控件下面显示Action事件。
现在,您需要获取在“任务”字段中键入的任务。您可能认为仅通过引用字段名称TaskField即可获得任务。
这很接近,但不是您想要的。相反,您需要的是TaskField的属性。
当需要引用对象的属性时,可以使用对象的名称,后跟一个点,然后是该属性的名称。
换句话说,您使用以下语法:ObjectName.PropertyName。这就是所谓的“点”符号,通常在面向对象的编程中使用。
在这种情况下,对象是TaskField,而所需的属性是Value(使用语言参考来查找可用于TextField的所有属性)。语法如下所示:
TaskField 。文本
要将行实际添加到列表框,请使用AddRow方法。您已经知道如何从步骤2中的“任务”字段中获取文本。
如前所述,对象可以具有属性。正如您现在在TaskList中看到的那样,对象也可以具有方法。
AddRow是Listboxes可用的许多方法之一,它将值添加到TaskList的两列中。第一列包含完成状态,因此最初设置为空白。
第二列包含任务的名称。这是代码:
TaskList 。AddRow(“”,TaskField 。文本)
通过选择文件↠保存来保存项目。
运行该应用进行测试。在任务字段中键入任务,然后单击添加按钮以查看它们出现在任务列表中。
关闭浏览器选项卡或窗口以返回到代码编辑器。
如果在运行项目时收到错误消息,请仔细检查为各个控件指定的名称。它们需要匹配您在代码中使用的名称。
完成按钮
当用户按下“完成”按钮时,在列表框中选择的任务应标记为已完成。通过在“已完成”列中显示复选标记(✓)来表明这一点。
请按照以下步骤添加代码:
在窗口上,双击标有“ Complete”的CompleteButton控件。
出现“添加事件处理程序”窗口。当按下按钮时,将调用其Action事件处理程序。
这意味着您要将代码添加到Action事件处理程序中,因此从“事件处理程序”列表中选择“操作”,然后单击“确定”。
注意导航器更新,以在CompleteButton控件下面显示Action事件,并显示代码编辑器。
要更改行,您首先需要知道选择了哪一行。在列表框中,当前选定的行包含在SelectedRowIndex属性中。
若要在列表框的特定单元格中设置值,请使用Cell属性,指定行和列。此代码将选中标记字符放在当前所选行的第0列(完成的列)中:
TaskList 。CellValueAt(任务列表。 SelectedRowIndex,0)= “✓”
运行该应用程序并添加一些示例任务。
现在单击一个任务,然后单击“完成”按钮。
复选标记出现在“完成”列中。从菜单中选择退出以返回到代码编辑器。
删除按钮
删除按钮用于从列表中删除任务。您添加到按钮的代码需要确定列表中的选定行并将其从列表中删除。
请按照以下步骤添加代码:
在窗口上,双击标有“删除”的DeleteButton控件。出现“添加事件处理程序”窗口。
从其他按钮中学到的知识,您希望使用Action事件处理程序在用户单击按钮时运行代码。
从事件处理程序列表中选择操作,然后单击确定。
注意导航器更新以在DeleteButton控件下方显示Action事件,并显示代码编辑器。
由于所选行将被删除,因此您再次想要使用SelectedRowIndex属性。
使用列表框方法RemoveRowAt从列表框中删除一行。您传递RemoveRowAt作为要删除的行号。因此,您的代码如下所示:
TaskList 。RemoveRowAt(任务列表。 SelectedRowIndex)
通过选择文件↠保存来保存项目。
运行该应用程序并添加一些示例任务。现在,在“任务列表”中单击一个任务,然后单击“删除”按钮。该任务将从列表中删除。
调试
查找错误是创建应用程序的一部分。一个错误是当您创建的应用程序无法正常运行时。
尽管您的任务管理器应用程序可以正常工作,但仍有一些需要解决的问题。您知道问题出在哪里吗?
提示:如果您单击“完成”或“删除”按钮但未选择任务,会发生什么?试试看。
运行该应用程序,然后单击“完成”按钮,而不执行其他任何操作。
您的应用将切换到调试器,并突出显示一行代码。您的代码生成了OutOfBoundsException,现在您处于调试器中。
发生错误是因为您尝试删除(或完成)不存在的行。
如果在列表框中没有选择任何行,则SelectedRowIndex属性将返回-1。
由于这不是列表框中的有效行,因此当将其传递给CellValueAt方法时,CellValueAt无法使用它。
结果,Xojo创建了一个叫做Exception的东西。这是发生异常或异常的事情。
在这种情况下,由于值超出范围(假设-1不是有效的行号),则会发生OutOfBoundsException。
单击调试器工具栏中的“继续”按钮,以查看实际的错误消息。
单击对话框中的按钮以退出应用程序以返回到编辑器。
没有人想要错误的代码。幸运的是,很容易防止此错误的发生。本质上,您要确保在尝试删除或完成任务之前已选择一行。
执行此操作的代码将使用您已经学到的知识。这是DeleteButton的Action事件处理程序的代码:
如果TaskList。SelectedRowIndex> = 0 然后是
TaskList。RemoveRowAt(任务列表。 SelectedRowIndex)
结束如果
“完成”按钮的代码类似:
如果TaskList。SelectedRowIndex> = 0 然后是
TaskList。CellValueAt(任务列表。 SelectedRowIndex, 0)= “✓”
结束如果
在这两种情况下,代码都通过检查SelectedRowIndex属性来验证是否选择了一行
以确保在调用实际方法之前该行包含有效行。
通过选择文件↠保存来保存项目。
再次运行项目,然后单击“完成”按钮,而不在任务列表中选择一行。
因为代码现在仅在选择了有效行的情况下才删除该行,因此不会发生OutOfBoundsException。
完成应用程序
测验
仅仅因为您的应用程序似乎可以运行,并不意味着您已经完成它。
优秀的开发人员始终会彻底测试其应用程序,以查找可能的问题。
您已经找到并解决了一个问题(未选择任何行时单击“删除”)。
您是否认为还有其他问题需要解决?运行该应用程序并试一下。
记下您要更改的内容。在下一节中,您将对任务管理器进行一些改进。
改进之处
您是否注意到有些时候任务管理器中的按钮可能不应该执行其操作?
例如,如果未选择一项,则“完成”按钮不应尝试将一项任务标记为已完成。
现在您可以单击它,但是什么也没有发生。
另外,如果在任务字段中未输入任何内容,则您不想将任务添加到列表中。
有多种方法可以完成此操作,但是一种方法是在不应使用按钮时将其禁用。
请按照以下步骤添加此改进:
在窗口上,选择标记为“完成”的CompleteButton。在检查器中,将“启用”属性(在“外观”组中)设置为“关”。
选择标有“添加”的添加按钮。在检查器中,将“启用”属性(在“外观”组中)设置为“关”。
选择标记为“删除”的DeleteButton。在检查器中,将“启用”属性(在“外观”组中)设置为“关”。
现在,您将添加代码,以在“任务”字段中有文本时启用“添加”按钮。
在窗口上,双击TaskField控件。出现“添加事件处理程序”窗口。在这里,您将看到事件处理程序的另一个列表。
每种控件类型都有其自己的特定事件处理程序列表。
在这种情况下,我们想在任务字段中没有文本时禁用AddButton,而在有文本时启用它。
每当通过用户键入或代码更改Value属性来更改任务字段中的文本时,都会调用TextChanged事件。
从事件处理程序列表中选择TextChanged,然后单击确定。
注意左侧更新中的导航器,以在TaskField控件下方显示TextChanged事件,并显示代码编辑器。
现在,您需要用于检查TextField(Me.Text)的Value属性的代码,以查看是否存在任何内容。
如果那里有文本,则通过将其Enabled属性设置为True来启用AddButton。
如果没有文本,则通过将其Enabled属性设置为False来禁用它。这是代码:
如果 我。文本<> “” 然后是
AddButton。启用=真
其他
AddButton。启用=错误
结束
如果您在“任务列表”中未选择任何行,则您之前已经添加了代码以防止“删除”和“完成”按钮执行任何操作。
现在,您还可以使这些按钮在选中某行时启用,并在没有选中任何行时禁用。
这是通过列表框的SelectedRowIndex属性完成的。
双击TaskList控件。出现“添加事件处理程序”窗口。
在这里,您将看到ListBox的事件处理程序列表。每当TaskList控件中的选择更改时,都会调用SelectionChanged事件。
从事件处理程序列表中选择SelectionChanged,然后单击确定。
添加此代码:
如果 我。SelectedRowIndex> = 0 然后是
DeleteButton。启用= True
CompleteButton。启用=真
其他
DeleteButton。Enabled = False
CompleteButton。启用=错误
结束
通过选择文件↠保存来保存项目。
运行该应用进行测试。请注意,添加按钮最初被禁用。
但是,请尝试在“任务”字段中键入一些文本。添加按钮立即变为启用状态。
并且,如果您从“任务”字段中删除了文本,则按钮将再次被禁用。
同样,当您单击“任务列表”中的一行时,将启用“删除”和“完成”按钮。
部署/建设
现在,您已经创建了这个精美的应用程序,您可能想与世界分享它。为此,您需要构建一个独立的应用程序。
Xojo允许您为MacOS,Windows和Linux(包括Raspberry Pi)创建桌面应用程序。
您要做的第一件事就是确定您要构建的平台。您可以使用导航器的BUILD部分来执行此操作。
首先,选中要构建的平台旁边的框。默认情况下,选中“此计算机”,以便至少为当前使用的平台创建一个版本。
要查看特定于每个平台的设置,请单击平台名称。共享构建设置包含版本信息和其他设置。
您可以在这些各种构建设置上单击以查看它们,但是无需更改任何内容即可构建此应用。
要构建应用程序,请单击工具栏中的“构建”按钮(或从菜单中选择“项目↠构建应用程序”)。Xojo为每个选定的平台创建一个独立的应用程序。
在包含项目的文件夹中,您将看到一个名为“ Builds-TaskManager.xojo_binary_project”的文件夹,该文件夹内将是每个平台的构建文件夹。导航到当前平台的build文件夹,然后双击应用程序文件以运行它。
恭喜,您已经成功完成了桌面教程,并且现在拥有一个功能齐全的应用程序。
人气软件
-
DNF连发设置生成工具 0.55 MB
/简体中文 -
新版魔兽争霸3修改器 0.28 MB
/简体中文 -
吃鸡百宝箱 38.8 MB
/简体中文 -
天龙八部天佛降世修改器 0.23 MB
/简体中文 -
SpoilerAL(日文游戏通用SSG修改工具) 2.66 MB
/简体中文 -
Tiled Map Editor(游戏地图编辑器) 12.2 MB
/简体中文 -
Epic Games Launcher(epic games启动器) 54.16 MB
/简体中文 -
温岭同城游戏大厅 13.7 MB
/简体中文 -
魔兽全图作弊器 0.16 MB
/简体中文 -
rpg maker mz中文 831 MB
/简体中文