游戏编程

《Genesis-3D游戏引擎系列教程-入门篇》二:运行发布游戏

拥有回忆 提交于 2019-12-07 12:14:07
注:本系列入门教程仅针对 引擎编辑器: v1.2.2 及以下版本 游戏的发布与运行 本章工程下载 当我们使用Genesis-3D编辑器开发游戏的时候,经常想了解现阶段做的游戏是否能够达到我们心中的标准,或是它是否有一些错误等待我们修正。这样,我们就需要这样一种功能,能够实时的将我们现在做的游戏发布出来,使之成为能够运行的软件格式。Genesis-3D为开发者准备了这样一项功能,接下来让我们了解游戏发布与运行的步骤。因为在后面的实例中会介绍游戏制作方面,现在我们可以点击“工程下载”来下载一个已经做好的Project,打开直接运行。 1.找到游戏发布与运行的按键。由图中所示可见,屏幕左侧文件菜单中有“发布并运行游戏”和“发布游戏”,它们对应着编辑器上方红色框中的内容,从上到下分别是发布并运行游戏和发布游戏。这样的设置为开发者提供了方便。 为了方便开发者的使用,菜单栏右侧还提供了两个按钮,从左到右分别是“发布游戏”和“运行并发布游戏” 2.发布游戏。如图所示我们点击发布游戏按钮,会弹出下面的对话框,设定好参数之后点击对话框中的发布游戏按键。 点击之后可能会出现两种情况。 A显示如图情况,我们设定好文件名和保存路径点击保存按键即可以生成游戏文件。 B显示如下图情况,表明我们的脚本出现问题,应该重新编译再发布游戏。 3. 运行游戏。当我们成功发布游戏之后

《Genesis-3D游戏引擎系列教程-高级篇》1:后期效果

情到浓时终转凉″ 提交于 2019-12-06 20:45:21
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 音频处理 素材资源 工程文件 声音是游戏中非常重要的组成部分,Genesis-3D提供了多样的声音特效处理方式,方便用户制作丰富多彩的声音效果。本例从基本音频属性、混音过滤器、音频监听器等方面展示音频处理效果;实现播放3D声音,场景内主角行走触发切换混音过滤器,用户输入空格切换音频监听器等功能。 混音过滤器:对3D声音数据进行特殊处理以模拟现实世界中环境音效的处理器,类似于现实世界中的调音台; 音频监听器:虚拟的三维场景中用来收听声音的接收器,类似于现实世界中人的耳朵。 1. 实现键盘输入控制人物行走。 2. 创建声音。 3. 为声音添加音源。 4. 设置音源基本属性。 音量:取值区间[0, 1],0静音,1最大 声音类型:选择2D类型时,监听器收听的声音从始至终保持一致;当选择3D类型时,监听器接收到的声音大小会根据其与音源之间的距离来判定,所以衰减方式、最小距离、最大距离属性只适用于3D类型。 衰减方式:线性:按照线性函数衰减,衰减较慢;倒数:按照倒数函数曲线衰减,衰减速度居中; 平方线性:按照平方倒数函数曲线衰减,衰减最快; 最小距离:在最小距离内音量保持初始值,不衰减 最大距离:超出最大距离后,音量一直保持最大距离时的数值,不再衰减 最大距离:超出最大距离后,音量一直保持最大距离时的数值,不再衰减 5.

《Genesis-3D游戏引擎系列教程-入门篇》一:安装与创建工程

我的梦境 提交于 2019-12-06 20:45:07
注:本系列入门教程仅针对 引擎编辑器: v1.2.2 及以下版本 1、安装编辑器 要使用Genesis-3D来制作游戏的第一步就是将Genesis-3D安装到您的计算机上。安装编辑器是一个很简单的过程,你可以简单点击连续下一步来完成整个过程。值得一提的是,如果您的电脑上没有安装.NET Framework4.0,安装包会为您安装一个。 1.双击Genesis-3D的安装程序,弹出如下界面,选择语言,点击OK 2.在欢迎界面,点击下一步 3.您必须同意协议才可以继续安装 4.选择安装目录,您可以把编辑器安装在任何你喜欢的地方 5.编辑器需要.NETFramework4.0环境,如果您的电脑上没有.NETFramework4.0,在安装过程中。会为您安装一个.NETFramework4.0, 6.安装.NETFramework4.0需要您接受一个条款 7.耐心等待几分钟,.NETFramework的安装会自动进行,安装完成以后点击完成 8..NETFramework安装完成以后,Genesis-3D的安装会自动继续进行,完成以后会出现以下界面,点击完成 9.OK,开始使用Genesis-3D吧! 2、创建工程 开始制作一个游戏的第一步就是创建工程。创建工程后,编辑器会在工程文件夹下面建立一系列文件夹并且将启动游戏所需要的最基本的资源放入,方便您管理游戏资源并支持游戏的运行。 1

《Genesis-3D开源游戏引擎--横版格斗游戏制作教程05:技能读表》

帅比萌擦擦* 提交于 2019-12-06 20:44:56
5.技能读表 技能读表概述: 技能读表,作为实现技能系统更为快捷的一种方式,被广泛应用到游戏开发中。技能配表,作为桥梁连接着游戏策划者和开发者在技能实现上的关系。在游戏技能开发中,开发者只需要根据策划人员提供的技能配表,在程序上实现对配置文件的读取功能。策划人员在游戏开发后期,如果在技能策划上做了修改,可以通过对技能配表的修改来实现对技能系统的修改。在这一过程中,绕过了开发者,便于策划对游戏后期开发的掌控,减轻了程序员的工作量。可以说技能读表不仅对技能、技能连招做出了贡献,也减轻了整个开发团队的工作量。 读表原理: 策划提供技能配表,开发人员需根据技能配表实现程序对配置文件的读取工作,玩家下达相应命令时,游戏角色执行相应技能,流程图如5-1所示。 图5-1 实现方法: 步骤1: 策划人员制作技能配表,至少包括技能配置表格和连招技能配置表格两张表,表格格式通常采用INI、TXT、CSV等,这里推荐开发者使用CSV,方便操作看着清晰。配置好的表格如Skill.csv和ContinualSkill.csv文件所示。 步骤2: 开发人员根据提供的技能配置文件,程序上实现对配置文件的读取功能。具体实现方式如下所示。 2.1:定义读取技能表后,记录技能表后,存放信息位置。 1)在类SkillData中,用数据结构用来记录表的信息,参考技能配置表Skill。 01 private UInt32

《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)

孤人 提交于 2019-12-06 20:43:44
跑酷游戏制作 游戏类型: 此游戏Demo,为跑酷类游戏。 框架简介: 游戏通常由程序代码和资源组成。如果说模型、贴图、声音之类的可以给游戏环境提供一个物理描述和设置,那么脚本和代码块会给游戏赋予生命,实现游戏的可玩性。Genesis-3D不仅为游戏开发者提供部分已经编译好脚本的编辑器,并且可以自己编写脚本,通过API接口调用,在引擎中实现制作游戏所需的功能。跑酷游戏框架涉及如下几部分内容: (1)道路的自动生成。 (2)内购如何实现 (3)暂停游戏 (4)触控操作 (5)二段跳的实现 (6)移动版优化指南 游戏操作介绍: 触控操作上:左右划屏控制角色左右移动,向上划屏控制跳跃,向下划屏控制角色下蹲。 按键操作上:"AD"控制角色左右移动,"空格"控制角色跳跃"S"控制角色下蹲。 游戏运行,效果如下图1所示 图1 本框架实例工程文件下载地址: 请点这里 引擎官方网站: http://www.genesis-3d.com.cn/ 官方论坛: http://bbs.9tech.cn/genesis-3d/ 官方千人大群:59113309 135439306 YY频道-游戏开发大讲堂(完全免费,定期开课):51735288 Genesis-3D开源游戏引擎:游戏起源,皆因有我!!! 来源: oschina 链接: https://my.oschina.net/u/1432254/blog

《Genesis-3D开源游戏引擎--横版格斗游戏制作教程04:技能的输入与检测》

落花浮王杯 提交于 2019-12-06 20:43:28
4.技能的输入与检测 概述: 技能系统的用户体验,制约着玩家对整个游戏的体验。游戏角色的技能华丽度,连招的顺利过渡,以及逼真的打击感,都作为一款游戏的卖点吸引着玩家的注意。开发者在开发游戏初期,会根据玩家对此类游戏的惯性操作,设定技能控制按键。同时Genesis引擎为开发者提供的众多API接口,包含了按键过程、按键按下和抬起的识别功能。当玩家根据游戏设定的按键操作,输入后。系统会记录按键操作的命令,然后程序通过对玩家当前输入状态,以及输入的过程检测,判定技能输入是否为有效输入。 技能系统的用户体验,制约着玩家对整个游戏的体验。游戏角色的技能华丽度,连招的顺利过渡,以及逼真的打击感,都作为一款游戏的卖点吸引着玩家的注意。开发者在开发游戏初期,会根据玩家对此类游戏的惯性操作,设定技能控制按键。同时Genesis-3D引擎为开发者提供的众多API接口,包含了按键过程、按键按下和抬起的识别功能。当玩家根据游戏设定的按键操作,输入后。系统会记录按键操作的命令,然后程序通过对玩家当前输入状态,以及输入的过程检测,判定技能输入是否为有效输入。 原理: 按键定义->输入->检测输入状态->检测输入过程。 图4-1 技能输入检测的实现: 步骤1: 引擎提供了相应的API接口,供开发者使用,其中就包括三个与按键相关的接口,一个是按键过程中、按键按下、按键抬起。在ScriptRuntime命名里

《Genesis-3D开源游戏引擎--横版格斗游戏制作教程03:碰撞检测》

眉间皱痕 提交于 2019-12-06 20:43:15
3.碰撞检测 碰撞检测的概述: 碰撞在物理学中表现为两粒子或物体间极端的相互作用。而在游戏世界中,游戏对象在游戏世界自身并不受物理左右,为了模拟真实世界的效果,需要开发者为其添加属性,以模拟真实事件的运动效果。在游戏世界里,当游戏主角与其它游戏对象发生碰撞时,都会触发一个相应的事件发生。这时候就需要开发者先检测到碰撞现象,即碰撞检测。在Genesis-3D引擎中,能检测碰撞发生的方式有两种:一种是利用碰撞器,一种是利用触发器。 碰撞检测原理: 为需要检测碰撞事件的物体创建子空Actor,作为检测碰撞物体的包装盒,用于程序对碰撞事件发生的判定。实时检测包围盒之间是否发生交叉、包含等关系时候,如若发生,及判定检测碰撞发生,触发碰撞事件。 图3-1-1 实现方法: 实现整个碰撞事件过程中,值得开发者花心思的是检测这一块内容。举例:主角攻击敌人的碰撞检测事件。在一定范围内,玩家控制主角攻击敌人,武器与敌人发生碰撞检测事件,敌人掉血。本来一系列的程序设定都十分顺畅,但这里要注意,因为碰撞检测是实时监测,但是碰撞结果掉血在这一过程中只发生一次,如何在一定事件内,只发生一次碰撞事件的成功检测,值得开发者考究一下。 步骤1: 碰撞检测体包围盒的制作。在场景中创建->空物体(空物体,即空Actor),将空Actor拖动到物体上,成为其子空Actor。 步骤2: 程序上碰撞提包围盒的创建如下所示。

《Genesis-3D开源游戏引擎--横版格斗游戏制作教程08:虚拟键盘实现》完结

三世轮回 提交于 2019-12-06 20:42:50
8.虚拟键盘实现 概述: 硬键盘就是物理键盘,平时敲的那种。软键盘是虚拟的键盘,不是在键盘上,而是在"屏幕"上。虚拟按键就是虚拟键盘的一部分,根据功能需求,提供部分按键效果的UI可操控按钮,尤其是在平板电脑、触控手机上,虚拟按键得到了更多的应用。在触控平台上的游戏,一部分通过手指在屏幕上相应的滑动产生相应的指令;还有一部分增设虚拟按键,完成对游戏的操控。 实现原理: UI基本制作->功能实现 实现方法: 步骤1: 按照7UI的制作方法,完成UI的制作,最终效果图,如8-1-1所示。左侧为摇杆按钮,为双侧的BUTTON,一层做摇杆的底部按钮背景,一层与用户交互发生相应事件。右侧围控制攻击和跳跃的按钮。 图8-1-1 步骤2: 脚本实现按钮功能。 初始化虚拟按键UI。 01 public void Init() 02 { 03  //注册攻击按钮layout文件 04  GUI.RegisterLayout(_attackWindowName, @"Layout\AttackButton.layout", false, true); 05  //注册按钮点击事件 1.layout名字 2.控件名字 3.回调函数 4.事件控制类型 06  GUI.UIWidget.SetEventMouseButtonClick(_attackWindowName, "AttackBtn",

《Genesis-3D游戏引擎系列教程-进阶篇》5:场景-水

老子叫甜甜 提交于 2019-12-06 05:43:23
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 场景水 资源下载 工程文件 这是一个简单的场景水实例,制作了一个具有反射和折射效果的场景水,帮助用户学习如何在Genesis-3D编辑器中制作出一个流动的水的效果。 1.创建项目water,因为本实例中我们要制作水场景,所以需要勾选WaterSurface资源包: 2.在工程目录下打开WaterSurface资源包,可以看到三种水模板: BasicWater:基本水 ReflectWater:具有反射效果的水 RefractiveWater:具有反射和折射效果的水 3.这里选择第三种水模板RefractiveWater(具有反射和折射效果的水),将其拖到场景中: 4.为了体现出明显的反射和折射效果,我们为其添加天空盒。"环境"——"天空盒"——勾选"开启天空盒": 5.从外界导入天空盒图片。因为天空盒是由立方体组成的,所以我们需要6个面的贴图材质。在资源管理器中导入6张贴图: 6.选择图片。分别对应六侧选择相应图片来构建完整的天空盒。双击目标图片,图片即被选入。我们依次为右侧、左侧、顶侧、底侧、前侧、后侧选择04,02,05,05,01,03图片: 7.点击“开关场景中的网格”按钮,关闭场景中的网格,是水场景显示更加美观。按钮显示灰色表示已经关闭网格: 8.美丽的天空盒已经添加成功,效果如下

《Genesis-3D游戏引擎系列教程-进阶篇》3:转动的球体

前提是你 提交于 2019-12-06 05:43:09
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 转动的球体 资源下载 工程文件 当我们掌握了一些Genesis-3D编辑器的操作技巧之后,现在来尝试着做一个非常简单的游戏,一个转动的球体,仅仅依靠编辑器自带的一些资源就可以成功,让我们开始吧! 1.导入fbx文件。点击工程面板的“导入”按钮会弹出如下对话框,找到sphere.fbx文件,点击打开。 2. 在场景中放入球体。导入之后看到下方的fbx文件将其拖拽进场景里,可以看到模型出现在场景中 3.为球体添加材质。网格的外观由材质决定,所以在为球体添加颜色和贴图之前我们应该为其添加材质,步骤如图,再把创建好的材质拖到场景中的球体上 4.为球体贴图。给球体添加材质之后,可以在材质面板中为球体贴图。这里应该注意的是,贴图图片的尺寸,长宽均应为2的n次方倍。挑选好图片之后我们将其导入编辑器 然后将其贴在球体上,如图所示 贴好之后我们的球体会变得美观 5.为球体添加脚本。想要让这个球体如真实的地球一样转动,我们需要为它添加脚本。 点击“在资源管理器中显示资源”后,在创建的脚本历我们要添加代码以实现控制球体转动。步骤如下图所示: 代码如图所示: using System; using System.Runtime.CompilerServices; using ScriptRuntime; namespace