《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》
2.内购如何实现
内购概述:
游戏内购是指玩家在游戏中,用金钱获取游戏道具的一种方式。开发者从玩家内购之中获得开发游戏的收益,因此大量游戏都有内购模块。下面我们以在手机IOS平台实现跑酷游戏内购为例,介绍一下游戏内购的基本流程。
原理:
内购流程图,如图2-1所示。

图2-1
实现方法:
步骤1:
开发者将产品道具上架。用固有开发者账号在Game center上注册mpid,其中包括上架物品信息:名称、编号和价格等。产品道具上架之前,开发者需要在iPhone DevCenter上注册成为iphone develop。如果没有,需要花$99.00在苹果官方注册购买账号。注册固有账号及上架道具产品可参考苹果官方网站:https://developer.apple.com。
步骤2:
UI的制作。这块就开发者自定义设计了,一般包含内容为:按钮,道具名称,道具信息等内容。
步骤3:
内购的实现。
3.1引擎提供了与APP Store之间的接口调用功能。玩家在游戏中购买道具的流程图,如图2-3-1-1所示。流程实现中,开发者只需要添加下列一段代码即可。
内购流程图,如图2-3-1-1所示。

图2-3-1-1
01 |
private void Store_Coin1_Buy_Click(FString sender) |
02 |
{ |
03 |
string mPid = "0001";//注册时,用户定义的产品编号 |
04 |
InAppPurchase.BuyProduct(mPid);//内购接口 |
05 |
} |
06 |
3.2回调函数。当玩家在游戏进行相关的UI按钮操控后,购买成功或者失败会给用户一个购买结果的信息,这里需要有一个回调函数。开发者需要添加IAPCallBack.cs这样一个文件,引擎规定这个文件里的类名,必须如下述代码类名一致。 |
07 |
public class InAppPurchaseInstance : RuntimeInAppPurchaseInstance |
08 |
{ |
09 |
public override void OnSKPurchaseSucc(String pid, String tid,String receipt) |
10 |
{ |
11 |
//购买成功的逻辑处理 |
12 |
} |
13 |
public override void OnSKPruchaseFailed(String pid, String tid,SKErrorType errorType, String error) |
14 |
{ |
15 |
//购买失败的逻辑处理 |
16 |
} |
17 |
public override void OnSKValidateFailed(String pid) |
18 |
{ |
19 |
//验证失败的逻辑处理 |
20 |
}
|
引擎官方网站:http://www.genesis-3d.com.cn/
官方论坛:http://bbs.9tech.cn/genesis-3d/
官方千人大群:59113309 135439306
YY频道-游戏开发大讲堂(完全免费,定期开课):51735288
Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Javascript和ECMAScript二三事
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(一) Javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同部分组成: ...
- PAT-乙级-1007. 素数对猜想 (20)
1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...
- 团体程序设计天梯赛-练习集L1-014. 简单题
L1-014. 简单题 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这次真的没骗你 —— 这道超级简单的题目没有任何输入. ...
- 大象的崛起!Hadoop七年发展风雨录
http://www.open-open.com/news/view/a22597 在互联网这个领域一直有这样的说法:“如果老二无法战胜老大,那么就把老大赖以生存的东西开源吧”.当年Yahoo!与Go ...
- JS 封装类
function HighchartsObj(id, type) { var that = this; this.options = { chart : { renderTo : id, type : ...
- Android:控件ProgressBar进度条
各种进度条属于 ProgressBar的子类 设置style: 环形进度条 style="?android:attr/progressBarStyleLarge" 横向进度条, ...
- Ant build.xml 批量打渠道包回顾!打第三方jar包总结
配置: eclipse3.9 + ADT22 + sdk 4.0 eclipse带自动混淆的,不过只有在我们手动创建包的时候,才去打签名,去混淆! 开启混淆这样做吧! 必备文件3个: 当然进行ant打 ...
- Android开发之xUtils-HttpUtils的使用
使用xUtils框架中的网络部分HttpUtils,功能:下载,断点续传,progressbar显示进度,文本显示进度% import java.io.File; import android.app ...
- poj 3267 The Cow Lexicon(dp)
题目:http://poj.org/problem?id=3267 题意:给定一个字符串,又给n个单词,求最少删除字符串里几个字母,能匹配到n个单词里 #include <iostream> ...
- BZOJ2500: 幸福的道路
题解: 一道不错的题目. 树DP可以求出从每个点出发的最长链,复杂度O(n) 然后就变成找一个数列里最长的连续区间使得最大值-最小值<=m了. 成了这题:http://www.cnblogs.c ...