2019独角兽企业重金招聘Python工程师标准>>>

欢迎来到使用Unity游戏引擎制作的NEO区块链游戏的’A-Z’多系列讲解教程。我们将保证每个系列内容的简洁清晰,从而对整体的工作流程做出全面地演示说明。 每个系列都与流程中的不同步骤相关联并会对相应流程做出处理,比如设置基本的游戏玩法,设置一个简单的测试服务器来连接Unity编辑器,设置编写NEO智能合约所需的开发环境,以及编写和测试简单的智能合约。某些内容我们会做出快速的讨论,有任何不清楚的地方,随时欢迎你发表评论,我很乐意为你解答。

我会在Mac系统上操作,这其中会存在一些问题,我会(希望记得)在本教程加以介绍。 对于Windows用户来说,这个过程应该会更简单直接一些,我会介绍一些现有的示例。 到本教程结束时,你应该已经具备了足够的专业知识,而且可以避免我之前遇到过的那些陷阱,从而能够开始创建你自己的项目了。

生存射击                                  

我们将利用Unity 的生存射击(Survival Shooter)教程和相关的示例项目进行讲解,因为对于初学者来说,这是非常好的得入门示例。 你可以下载示例项目,然后添加额外的区块链内容,如果你想更深入地学习Unity,已经有很多很好的相关学习教程了。对于那些已经熟悉Unity的人,可以只关注这个示例。

所以,到https://unity3d.com/上下载最新版本的编辑器。运行编辑器并创建一个新项目——我们将其称为SurvivalShooterTutorial。不用担心各种花哨的设置选项,因为之后我们会导入一个包,它会覆盖所有的这些设置。

单击菜单选项 窗口(Window) – > 通用 (General) – > 资产存储 (Asset Store)并搜索Survival Shooter Tutorial。 选择它然后单击下载 (Download),然后单击导入(Import)。

哇,你已经创建了一个游戏! 在项目窗口(Project Window)中打开主场景 资产(Assets)- > _Complete-Game – > _Complete-Game(scene),然后点击 播放(Play) 按钮以查看它的实际效果。 你可以使用键盘上的WASD键移动并使用鼠标进行瞄准和射击。

双击_Complete-Game scene对象打开…

然后点击“播放”按钮来测试

设置NEO

要开始使用NEO区块链,我们需要进行更多的设置。我们用于与NEO区块链交互的插件需要更新版本的微软.NET框架,而不是Unity中默认设置的版本。转到 编辑 (Edit)- >项目设置 (Project Settings)- >播放器 (Player),然后在 其他设置 (Other Settings)下将 脚本运行时版本(Scripting Runtime Version)设置为.NET 4.x Equivalent。 你会看到一个弹出窗口,要求重新启动编辑器,继续并接受从而重启。

然后获取City of Zion (CoZ) 团队提供的NEO Lux Unity插件,CoZ是一个独立的、国际化的开源开发者团队,致力于智能经济的开发,他们整合了一些奇妙的、易于使用的工具,用于与NEO区块链进行交互。下载完软件包后,只需双击它,就可以将其导入到现在打开着的Unity项目中。耶,我们的Unity初始设置就已经完成了。

连接到NEO

接下来,我们需要让我们的Unity应用程序与NEO区块链进行通信。在本教程中,我们会运行我们自己的私有服务器,因为根据我自己的经验,使用官方的测试网比运行自己的服务器困难得多(例如,需要填写申请测试GAS的表单)。

右键单击 资产(Assets) – > 脚本(Scripts),然后选择 创建(Create) – > C#脚本( Script), 将其命名为CustomRPC,然后双击打开它,并复制+粘贴以下代码:

using Neo.Lux.Core;
using Neo.Lux.Utils;
using UnityEngine;public class CustomRPC : NeoRPC{private string nodeURL;public CustomRPC(int port, int neoScanPort, string neoscanPortURL) : base(port, neoscanPortURL + ":" + neoScanPort.ToString()){this.nodeURL = neoscanPortURL;}protected override string GetRPCEndpoint(){return $"{nodeURL}:{port}";}public override byte[] GetStorage(string scriptHash, byte[] key){var response = QueryRPC("getstorage", new object[] { key.ByteToHex() });if (response == null){response = QueryRPC("getstorage", new object[] { scriptHash, key.ByteToHex() });if (response == null){Debug.Log("Failed the QueryRPC");return null;}}var result = response.GetString("result");if (string.IsNullOrEmpty(result)){return null;}return result.HexToBytes();}}

你不需要太担心这段代码有什么用。 这是一个简单的类,继承自NEO Lux的基类RPC。它可以让我们更轻松地使用我们自己的私有网络。 这就引出了第2部分:设置你的NEO私有网络。

原文链接:https://medium.com/@tbriley/making-a-game-with-neo-unity-part-1-4099ec7d7a82

翻译:包子

                                                   

NEOFANS:neofans.org

NEOFANS 微博:https://www.weibo.com/neofanscommunity

NEOFANS  telegram群:https://t.me/NEOfansCN

转载于:https://my.oschina.net/u/4005186/blog/2907411

利用NEO与Unity制作游戏(第1部分)相关推荐

  1. 利用NEO与Unity制作游戏(第2部分)

    欢迎来到使用Unity游戏引擎制作的NEO区块链游戏的'A-Z'多系列讲解教程的第2部分. 在第1部分中,我们设置了基本的Unity环境,并准备好连接到我们的私有测试网络. 在第2部分中,我们将设置这 ...

  2. Unity制作游戏中的场景

    Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...

  3. unity制作游戏开始界面_开始使用Unity Playground制作游戏

    unity制作游戏开始界面 We are super excited to announce the official launch of Unity Playground – the first o ...

  4. 使用Unity制作游戏AI

    本文由独立游戏工作室Synnaxium Studio介绍游戏AI的概念和开发方法.本文中所有内容都是他们在开发<Radiant Blade>游戏的原型阶段所积累的经验. 下面是<Ra ...

  5. Unity制作游戏中改名系统(第一次改名免费、改名提示、充值获得改名次数等 )

    Unity游戏制作中UI界面名字修改 游戏名称修改 简单粗暴直接上代码 关于充值系统的概念 游戏名称修改 现在网络游戏中名字是标新立异.展示自己独一无二的个性的方式之一,名字越来越烧,操作越来越低,也 ...

  6. [Unity] 制作游戏 小球爱碰撞

    先上效果: 游戏玩法: 小球将边缘的几个盒子撞掉后就胜利了. 首先制作一个天空盒材质,调整好其Shader,气候和地面颜色,如下图: 然后,在Scene场景中添加一个平面Plane,然后将自己制作好的 ...

  7. [Unity] 制作游戏 赛车小游戏

    模拟赛车小游戏 效果展示 做一款模拟赛车的小游戏demo,方向键控制.有刹车.重玩,还有漂移和查看车型的功能 可以看到,还有翻车的效果哈哈哈!有兴趣的小伙伴来看看吧! 资源准备 从网上下载赛车模型和桥 ...

  8. 3D MAX制作游戏高端人物模型

    本教程主要是解析利用 3ds max软件制作游戏高端人物模型的三种方法之一的"整体法",主要以多边形建模为核心. 整体法是将模型由整体到局部细化的一个过程,通常是先创建一个标准的三 ...

  9. unity制作小游戏

    前言 这是专选课3D游戏编程与设计的第二次作业,包括简答题和用unity制作一个小游戏.如有错误,欢迎并感谢指正. 简答题 游戏对象(GameObjects)和资源(Assets)的区别和联系 游戏对 ...

最新文章

  1. 二十三、oracle pl/sql分类三 包
  2. day15 webUI自动化
  3. java linux 服务_java项目部署Linux服务器几种启动方式总结经验
  4. (27)FPGA面试题动态时序模拟
  5. 进阶 vue,需要掌握哪些知识?
  6. 超实用的mysql分库分表策略,轻松解决亿级数据问题
  7. android开发 修改标题栏背景_Android哆啦A梦调试工具体验
  8. 两年经验拿到蚂蚁/头条 Offer(面经分享)
  9. 文件解压缩,删除文件,创建文件,读取xml文件为json字符串,得到相对路径下的图片名称...
  10. windows 平台 atom编辑器常用快捷键
  11. 微信HOOK发送Emoji表情
  12. 翻译--CenterNet-将目标看作点
  13. 如何用计算机绘函数图,用计算机绘制函数图像.
  14. snkrs抽签协议获取
  15. 何学林:房价为什么降不下来?房价上涨的刚性是由强大的利益共同体共同作用的结果(原创首发,深度好文)——何学林房地产大策划之十二
  16. 【华为OJ】【067-求最小公倍数】
  17. 深度时空残差网络在城市人流量预测中的应用
  18. java与seo_学习seo和学习java哪个更好
  19. 区分IE6、IE7、IE8及标准浏览器的最佳方法
  20. 火狐浏览器提示响应已被截断(有效解决)

热门文章

  1. P106双N卡 自动调用方案
  2. 计算机组成原理之指令微操作(简化总结)
  3. 兼顾时尚与商务? ThinkPad Z 重新定义“商务本”
  4. C++友元和友元函数
  5. Java进阶学习-7 面向对象程序设计原则
  6. rrpp+ospf环网组建
  7. C语言实现王者荣耀护甲减免机制
  8. POJ2248-Addition Chains-经典搜索题详解优化
  9. 智能车浅谈——硬件篇
  10. 基于ArcGIS Pro 的AI地图配色工具