Corona SDK(多功能游戏开发2D引擎)
v2020.3 免费版- 软件大小:79.85 MB
- 更新日期:2020-12-08 11:13
- 软件语言:英文
- 软件类别:游戏工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Corona SDK是一款多功能游戏开发2D引擎,可让用户为所有主要平台构建游戏和应用程序,Corona SDK是一个跨平台框架,非常适合为移动设备和台式机系统快速创建应用程序和游戏;这意味着您可以一次创建项目,然后将其发布到多种类型的设备,它加快了开发过程,更新用户的代码,保存更改,并在即时更新的Simulator中立即查看结果;当用户准备在真实设备上进行测试时,只需构建和部署应用一次,然后在整个本地网络中查看代码/资产自动更新,就像魔术;支持从快速的OpenGL图形到Lua的轻量级脚本编写功能,它已针对每个核心级别的性能进行了优化;使用Corona Simulator,用户的应用程序会在构建时自动编译,从而简化了性能和稳定性;超过50万名开发人员和活跃,用户在Corona游戏引擎上已有8年的信任和灵感!
软件功能
支持的平台包括iOS,Android,Kindle,Apple TV,Android TV,macOS和Windows
包括iOS,Android,Kindle,Apple TV,Android TV,macOS和Windows
Lua是一种开源脚本语言,旨在轻量级,快速且功能强大。
Lua当前是游戏中领先的脚本语言
并已在Warcraft,Angry Birds,Civilization和许多其他流行的特许经营中使用
满足所有需求的
插件从众多扩展Corona SDK核心的插件中进行选择,以实现应用内广告,分析,媒体等功能。
库调用任何本机库
如果尚未在内核中或未通过插件支持,则可以使用Corona调用任何本机(C/C++/Obj-C/Java)库或API
平台跨平台
开发仅需一个代码库即可为移动,台式和连接的TV设备开发。
完全免费
没有任何隐藏的费用,费用或特许权使用费。
无论您是独立开发人员还是大型发行商,您都不会为核心功能付费。
软件特色
Solar2D是基于Lua的游戏引擎,专注于简化迭代和使用
这是一个完全开放源代码的项目,由完善且广泛使用的Corona SDK游戏引擎派生而来,该引擎不再受到商业支持。
开发工作由Corona Labs Inc的前技术首席工程师Vlad Shcherban领导。
如果您正在使用此引擎,请考虑支持其开发。
跨平台
仅需一个代码库即可为移动,桌面和连接的TV设备开发
iOS,tvOS,Android,Android TV,macOS,Windows,Linux或HTML5。
满足所有需求的插件
从众多扩展了Solar2D核心的插件中进行选择,以实现应用内广告,分析,媒体等功能。调用任何本地库
如果尚未在内核中或尚未通过插件支持,则可以使用Solar2D Native调用任何本机(C/C++/Obj-C/Java)库或API
准备生产
Solar2D是Corona SDK的官方分支,Corona SDK的活跃开发已经超过10年,已被成千上万的应用程序和开发人员使用
基于Lua
Lua是一种开源脚本语言,旨在轻量级,快速且功能强大。
Lua当前是游戏中领先的脚本语言
并已在Warcraft,Angry Birds,Civilization和许多其他流行的特许经营中使用
隐私意识
Solar2D不会跟踪您的用户。没有匿名数据收集,没有服务器调用。
没有。您制作的游戏只会发出您要求的网络请求。
社区
加入一个充满活力的社区,成千上万的开发人员使用Solar2D在论坛或Discord聊天中进行实时游戏。
开源的
所有源代码和资源都可以在MIT许可下获得。
软件优势
专业程序员,移动应用程序开发人员,企业,学校和大学使用Solar2D来开发引人入胜的游戏
教育性应用程序,业务/实用程序应用程序等。
对于刚刚起步的人来说,Solar2D很容易学习,但对于有经验的开发人员来说,Solar2D足够强大。
借助Solar2D,您可以获得以下所有好处:
一个完整的框架,可让您创建游戏,教育应用程序,业务/实用程序应用程序等。
跨平台—仅使用一个代码库即可为移动,台式和联网电视设备开发。
开发使用Lua(一种功能强大且易于学习的脚本语言)完成。
通过实时设备测试优化您的工作流程 -只需构建和部署一次应用程序
然后几乎就可以在本地网络上的设备上立即查看代码/资产更新。
超过1000种API使您能够将您的想法转变为令人惊叹的创新应用程序体验。
插件使开发人员可以访问其他功能,工具和服务。
只需几行代码,即可使用各种插件来帮助您成功。
花时间制作出色的应用程序,而不用实施第三方软件开发套件!
受诸如Solar2D Marketplace和Solar2D Plugins的第三方市场支持。
安装步骤
1、用户可以点击本网站提供的下载路径下载得到对应的程序安装包
2、只需要使用解压功能将压缩包打开,双击主程序即可进行安装,弹出程序安装界面
3、同意上述协议条款,然后继续安装应用程序,点击同意按钮即可
4、可以根据自己的需要点击浏览按钮将应用程序的安装路径进行更改
5、现在准备安装主程序,点击安装按钮开始安装
6、根据提示点击安装,弹出程序安装完成界面,点击完成按钮即可
使用教程
olar2D是一个基于Lua的框架,提供了大量的API和插件,使开发人员可以快速轻松地制作可在多种类型的设备上运行的应用程序。
借助内置的模拟器,您可以预览应用程序的显示方式并在多种类型的设备上做出响应,而无需编译或部署它进行测试。
准备就绪后,您可以进行实时设备测试,以查看您的应用在实际设备上的性能。
除了核心框架之外,Solar2D还包含许多插件,这些插件添加了特定功能并有助于加速应用程序的开发。想要通过应用内广告获利吗?
想连接到Facebook吗?只需使用方便的Facebook插件即可。通过使用插件,您可以专注于构建应用程序并利用稳定的附件。
Solar2D本机
Solar2D Native提供了对操作系统和本机API的低级访问。虽然大多数使用Solar2D设计的应用程序不需要这种访问级别,但是它允许您使用Obj-C或Java之类的本地语言在本地代码和Lua代码之间传递信息。
电晕卡
CoronaCards用于在本机应用程序或其他框架中实现Solar2D。这使开发人员可以嵌入Solar2D资源,而不会干扰主应用程序堆栈。
系统要求
您需要什么入门?除了Solar2D,您还需要一个IDE或文本编辑器(我们将在第1章中对此进行进一步讨论)。
具体的系统要求取决于您是在Mac还是Windows系统上进行开发:
使用Solar2D
脚本编写
Solar2D使用Lua脚本语言。如果您曾经用任何语言编程过,Lua都会很容易过渡。Lua简介指南概述了Lua,或者您可以在YouTube上学习Lua。在很短的时间内,您会发现自己正在编写自己梦creating以求的出色应用程序!
如果您不熟悉编程,Lua仍然很容易学习,本指南将为您提供帮助。
文字编辑器
除了Solar2D,您还需要一个文本编辑器。有几种编辑器可供选择,选择一个编辑器就像选择一辆汽车一样-每个人都有自己的喜好,您应该研究哪种最适合您。
建立专案
您的第一个项目将非常简单,但是它将展示一些重要概念。我们将做一个简单的敲打游戏,使气球保持在空中。每次轻敲气球时,我们都会将其“推”高一点。
笔记
使用本指南的最佳方法是遵循每个步骤-键入代码,添加图像,然后逐步看到您的项目。这可能需要更多时间,但是您将获得更好的理解。
每章都包含一个可下载的文件,其中包含与该章相关的所有图像,音频文件和其他资产。
开始一个项目
在Solar2D中创建一个新项目很容易。仅需几个简单的步骤,您就可以开始制作第一款游戏!
打开Solar2D Simulator。
从欢迎窗口中单击“新建项目”,或从“文件”菜单中选择“新建项目... ” 。
对于项目/应用程序名称,键入BalloonTap并确保选择“空白模板”选项。将其他设置保留为默认设置,然后单击确定(Windows)或下一步(Mac)。这将在您指定的位置(文件夹)中为您的第一个游戏创建基本文件。这也是您将放置所有应用程序文件/资产(包括图像,程序文件等)的文件夹。
如果您选择为此项目或任何其他项目创建自己的图像,请注意以下基本图像准则:
Solar2D支持PNG和JPG格式。Nano SVG插件支持SVG。
映像不应包含嵌入式ICC配置文件。
避免渐进JPG文件,因为它们将花费更长的时间加载。
载入背景
我们需要加载的第一个图像是背景。关于分层,Solar2D将所有内容从后到前放置在屏幕上,因此我们加载的第一个图像将存在于其他随后加载的图像之后。虽然有多种方法可以更改图像的分层顺序并将其发送到显示堆栈的背面或正面,但我们将使该项目保持简单并按逻辑顺序加载它们。
使用您选择的文本编辑器,main.lua在项目文件夹中找到并打开文件。该main.lua文件是每个Solar2D项目的基础“核心程序文件”,没有它,您将无法创建应用程序。每次您运行应用程序时,这就是应用程序启动时使用的Lua文件。
此命令涉及多个方面。让我们分解一下:
第一个单词local是Lua命令,指示下一个单词将是一个变量。就像您在数学课中学到的那样,变量用于存储值。在这种情况下,该值将是用作背景的图像。
请注意,local它始终是小写字母,并在此处用于声明变量;例如,第一次使用该变量时,应local在其前面添加单词。
第二个单词,background是我们变量的名称。每当我们要更改存储在中的图像时background,我们都会使用此变量名。
请记住,每次使用变量时,始终使用不同的变量名。如果教室中的每个人都被命名为“ John”,这会引起混乱,但为所有对象使用相同的变量名会在程序中造成混乱。
的=(等号)用于将变量分配background给图像。
display.newImageRect()是Solar2D API之一。它用于从文件加载图像,以便您可以在应用程序中使用它。有几种方法可以将图像加载到您的应用程序中,但是display.newImageRect()它的特殊之处在于它可以调整图像的大小/缩放比例(稍后将对此进行说明)。
括号内是我们传递的参数display.newImageRect(),有时也称为参数。第一个参数是我们要加载的图像文件的名称,包括文件扩展名(.png)。
指定的名称必须与实际文件名完全匹配,包括区分大小写的匹配!例如,如果实际文件名是background.png,则不要输入"BackGround.PNG"。
接下来的两个参数,360并570指定背景图像的大小。在这种情况下,我们将仅使用图像的像素尺寸,尽管如上所述,它display.newImageRect()允许您通过这些数字来调整图像的大小。
背景的最后一步是将其放置在屏幕上的正确位置。在刚输入的行之后,立即添加两个突出显示的命令:
9local background = display.newImageRect( "background.png", 360, 570 )
background.x = display.contentCenterX
background.y = display.contentCenterY
默认情况下,将Solar2D定位对象中的坐标点的中心0,0位于在左上屏幕的角落。但是,通过更改对象的x和y属性,我们可以将背景图像移动到新位置。
对于这个项目,我们将背景放置在屏幕的中心,但是如果我们不确切知道哪个坐标值代表中心呢?幸运的是,Solar2D为此提供了一些方便的快捷方式。当指定值display.contentCenterX和时display.contentCenterY,Solar2D会将屏幕的中心坐标设置为background.x和background.y属性。
让我们检查一下代码的结果!保存修改后的main.lua文件,然后在模拟器中使用⌘-R (Command-R) “重新启动”该文件。如果一切顺利,现在应该在屏幕上居中显示背景。
如果出现错误或看不到背景,则可能有以下几种原因:
其中一个命令输入错误。
图像文件与不在同一文件夹中main.lua。
指定的文件名和/或扩展名不正确或不匹配,以防万一。
请记住,模拟器控制台窗口是检查和诊断代码中潜在错误的宝贵位置。在Windows上,始终可以在Simulator中访问此面板。在Mac上,如果此窗口尚未打开,则可以通过选择Window → Console来查看它。
加载平台
是时候加载平台了。这与加载背景非常相似。在已经输入的三行代码之后,输入以下突出显示的命令:
您可能已经注意到,与背景相比有一个小的变化:我们希望平台不位于垂直中心,而是希望它靠近屏幕底部。通过使用命令display.contentHeight,我们知道内容区域的高度。但是请记住,将对象platform.y的中心放置在指定位置。因此,由于此对象的高度为50像素,因此我们从该值中减去25像素,从而确保可以在屏幕上看到整个平台。
保存main.lua文件并重新启动模拟器以查看平台图形。
装气球
要加载气球,我们将遵循相同的过程。在前面的命令下面,键入以下行:
17local balloon = display.newImageRect( "balloon.png", 112, 112 )
balloon.x = display.contentCenterX
balloon.y = display.contentCenterY
此外,为使气球具有稍微透明的外观,我们将稍微降低对象的不透明度(alpha)。在下一行,将气球的alpha属性设置为80%(0.8):
18local balloon = display.newImageRect( "balloon.png", 112, 112 )
balloon.x = display.contentCenterX
balloon.y = display.contentCenterY
balloon.alpha = 0.8
保存main.lua文件并重新启动模拟器。屏幕中央现在应该有一个气球。
增加物理
是时候进入物理学了!Box2D是随附的物理引擎,可用于构建应用程序和游戏。虽然制作游戏不需要使用物理学,但它可以轻松处理许多游戏情况。
包括物理学非常容易。在前几行下面,添加以下命令:
21local physics = require( "physics" )
physics.start()
让我们更详细地解释这两行:
该命令local physics = require( "physics" )将Box2D物理引擎加载到您的应用程序中,并将其与本地变量关联以physics供以后参考。physics稍后您将看到,这使您能够使用命名空间变量在物理库中调用其他命令。
physics.start() 完全符合您的猜测-启动物理引擎。
如果您保存并重新启动你不会看到你的任何差异的游戏...但。那是因为我们没有给物理引擎做任何事情。为了使物理起作用,我们需要将创建的图像/对象转换为物理对象。这是通过命令完成的physics.addBody:
23local physics = require( "physics" )
physics.start()
physics.addBody( platform, "static" )
这告诉物理引擎向存储在中的图像添加物理“身体”platform。另外,第二个参数告诉Solar2D将其视为静态物理对象。这是什么意思?基本上,静态物理对象不受重力或其他物理力的影响,因此,只要您有一个不应移动的对象,请将其类型设置为"static"。
现在,将一个物理物体添加到气球中:
24local physics = require( "physics" )
physics.start()
physics.addBody( platform, "static" )
physics.addBody( balloon, "dynamic", { radius=50, bounce=0.3 } )
与平台相反,气球是动态的物理对象。这意味着它受到重力的影响,会对与其他物理对象等的碰撞做出物理响应。在这种情况下,第二个参数("dynamic")实际上是可选的,因为默认的身体类型已经是动态的,但是我们在此处包括它来帮助与学习过程。
该physics.addBody命令的最后一部分用于调整气球的身体属性-在这种情况下,我们将其设置为圆形并调整其弹跳/恢复值。参数必须放在大括号({})中(在Lua编程语言中称为表格)。
由于气球是圆形对象,因此我们为其分配了radius一个值为的属性50。此值基本上与我们的气球图像大小匹配,但是如果您创建了自己的气球图像,则可能需要稍作调整。
该bounce值可以是任何非负的十进制或整数值。值0表示气球没有反弹,而值表示气球1会以其100%的碰撞能量反弹。的值0.3,如上面看到的,将使其反弹,其能量的30%。
笔记
bounce大于的值1将使对象以超过100%的碰撞能量反弹。如果将值设置为上述值,请小心,1因为对象可能会迅速获得超出典型值或预期值的动量。
即使将零件序号的bounce属性更改为0,它仍会从platform对象反弹,因为默认情况下,对象的反弹值为0.2。要在此游戏中完全消除跳动,请将气球和平台都设置为bounce=0。
保存main.lua文件并重新启动模拟器。作为一个有趣的实验,您可以尝试调整bounce值并重新启动项目以查看效果。
职能
此时,我们有一个气球,它会掉落到平台上并轻微反弹。那不是很有趣,所以让我们把它变成游戏吧!为了使气球水龙头游戏正常工作,我们需要能够在每次轻按气球时将气球向上推一点。
为了执行这种功能,编程语言使用所谓的函数。函数是简短的代码部分(通常),只有在我们告诉他们时才运行,例如玩家轻按气球时。
让我们创建第一个函数:
28local function pushBalloon()
end
功能对于应用程序和游戏开发都是必不可少的,因此让我们检查一下基本结构:
和以前一样,我们使用关键字local声明函数。
关键字function告诉Solar2D这是一个函数,其命令集将由name调用pushBalloon。
圆括号(())是必需的。在后面的章节中,我们将在这些括号内添加一些内容,但是现在您可以如图所示保留它。
如上所述,函数是代码的独立部分(块),仅当我们告诉它们时才运行。因此,无论何时创建函数,都必须使用关键字来关闭它end。这告诉Lua函数已完成。
太好了,我们现在有一个功能!但是,它目前是一个空函数,因此如果我们运行它实际上将不执行任何操作。通过在函数内部添加以下代码行,在声明函数的位置(其开始行)和结束end关键字之间进行修复:
28local function pushBalloon()
balloon:applyLinearImpulse( 0, -0.75, balloon.x, balloon.y )
end
在函数中添加代码行时,缩进至少一个制表符或3-4个空格被认为是一种良好的编程习惯。这使您的代码更具可读性,并且更容易识别较长程序中的功能。
balloon:applyLinearImpulse是一个非常酷的命令。当应用于像气球一样的动态物理对象时,它将在任何方向上向对象施加“推动”。我们传递的参数告诉物理引擎要施加多少力(水平和垂直),以及物体在物体上的什么位置施加力。
前两个参数0和和-0.75指示方向力的大小。第一个数字是水平或x方向,第二个数字是垂直或y方向。由于我们只想向上推气球(而不是向左或向右),因此我们将其0用作第一个参数。对于第二个参数,其值为-0.75,我们告诉物理引擎将气球向上推一点。此数字的值确定所施加的力量:数字越大,力量越大。
如右侧的图所示,正X在Solar2D值延伸到右侧,而正ÿ值延伸向下(未向上如在笛卡尔坐标系)。这就是为什么我们使用负值(-0.75)将气球向上推的原因。
第三个参数和第四个参数balloon.x和balloon.y告诉物理引擎相对于气球本身在何处施加力。如果在非气球中心的位置上施加力,则可能导致气球向意外方向移动或旋转。对于此游戏,我们将力保持在气球中心。
而已!如果需要,我们可以在pushBalloon()函数内添加其他命令,但是对于这个简单的游戏,我们只需要用少量的力向上推动气球即可。
大事记
事件是创建交互性的原因,在许多方面,Solar2D是基于事件的框架,其中在特定事件期间将信息调度到事件侦听器。无论该事件是用户触摸对象/按钮,点击屏幕还是(在此游戏中)点击气球,Solar2D都可以通过触发事件来做出反应。
添加事件侦听器很容易-现在执行以下功能:
30local function pushBalloon()
balloon:applyLinearImpulse( 0, -0.75, balloon.x, balloon.y )
end
balloon:addEventListener( "tap", pushBalloon )
让我们检查这个新命令的结构:
首先,我们必须告诉Solar2D事件侦听器涉及哪个对象。对于此游戏,我们要检测与balloon对象直接相关的事件。
在此之后,立即添加一个冒号(:),然后添加addEventListener。在Lua中,这称为对象方法。本质上,addEventListener在冒号后面告诉,我们要向Solar2D添加一个事件监听器到balloon,在冒号之前指定。
括号内有两个参数,用于完成命令。在这种情况下,第一个参数是Solar2D将监听的事件类型"tap"。第二个参数是功能应运行(称)事件发生时,在这种情况下,pushBalloon()我们在上一节中写道功能。本质上,我们是在告诉Solar2DpushBalloon()每次用户点击气球时都运行该功能。
这就是一切-您现在有了功能性的游戏!如果保存main.lua文件并重新启动Simulator,则应该可以使用它了。尽最大努力继续点击/单击气球并防止其接触平台!
人气软件
-
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
/简体中文