- 博客(30)
- 资源 (23)
- 收藏
- 关注
转载 Google Play In-app Billing
0, 概述应用程序内部付费机制(Google Play In-app Billing, 以下简称应用内支付)是Google Play的一项服务,这种服务为应用内购买提供支付流程。要使用这项服务,你的应用会对一个特定的应用内产品发送一个结账请求。然后该服务会处理这笔交易的所有细节,包括请求和确认支付形式和处理金融方面的交易。支付流程完成后,该服务会发送购买细节到你的App,比如订
2013-06-14 10:24:15
1212
1
转载 Cocos2d-x里面如何实现MVC(一)
前言: 众所周知,现在MVC非常流行。现在只要随便搜索一下,哪里都是MVC的影子。刚开始在j2ee里面,然后是rails,后面居然.net也出来了,ios更不用说,哪里都是mvc,而且强制你必须使用mvc。但是,我们写的那些程序,真正完全符合mvc吗?呵呵,这个不好说,看个人理解程度而异。mvc实在是太火了,那么cocos2d-x该怎么实现mvc呢? Model-View-C
2013-05-29 11:05:53
1128
转载 Cocos2d-x里面如何实现MVC(二)
上一篇博文中,我提到了《如何在cocos2d-x里面实现mvc(一)》,但是,都是一些纯理论的东西,我们需要看一些代码才能理解地更清楚。这篇博文是基于上一篇来写的,所以我建议你先阅读完上一篇。模型类 就像之前所讨论的,GameModel类存储了游戏世界里面的一些属性,比如当前的重力。但是,它同时也负责创建和联接游戏里面的对象,比如Player和Platforms。它们之间的关
2013-05-29 11:05:02
1697
转载 Cocos2d-x里面如何实现MVC(三)
引子:前面两篇文章介绍了一些关于在cocos2d-x里面如何实现mvc的理论知识,接下来的这三篇教程,我将用一个简单的教程示例,给大家演示一下具体代码实现细节。 这篇文章的写作目的就是让大家更好地理解如何在cocos2d-x里面实践mvc模式(当然,这里演示的不一定是标准的mvc,因为cocos2d-x特殊的编程方式。但是,这并不妨碍我们编写更好的代码,你们说对吧?),本文是基于前两
2013-05-29 11:04:18
1822
转载 Cocos2d-x里面如何实现MVC(四)
在上一篇文章中,我们使用cocos2d-x基于mvc做了一个简单了游戏架子,这个架子还非常简单,还有许多东西有待实现。介绍模型 在上一篇博文中,我们介绍了view和controller。为了实现mvc模式,我们还需要添加一个model类来维护游戏的状态。我们的实现应该要包含下列这些类:1 GameBoardView - 也就是View,2 GameBoardC
2013-05-29 11:03:42
982
转载 Cocos2d-x里面如何实现MVC(五)
本文基于前面两篇文章,如果您还没有看过,建议先阅读前面两篇文章: 更新Model 当用户从工具箱中选一个小工具,然后把它放置到game board上面去时,我们需要编码响应这些事件。在上一篇文章中,我们已经实现了GameBoardViewDelegate的touchedAtRow方法。我们还需要给这个协议再添加一个接口方法。如下所示:class GameBoardView
2013-05-29 11:03:02
853
转载 Cocos2d-x里面如何实现MVC(六)
如果你对于前面几篇介绍cocos2d-x里面如何实现mvc有什么不清楚的地方,请跟我讲,这样我就可以补充地更详细一点。在此,我简单地总结一下前面写的这些文章:1 我们实现了Model,它可以帮助我们封装游戏的逻辑,这样可以使我们的关注点集中于游戏逻辑,而不是其它的(比如渲染)2 我们实现了Controller来处理用户交互,同时相应地更新model。3 我们实现了View,
2013-05-29 11:01:12
1420
原创 C++字符串处理(重写)trcpy、strlen、strcat、strcmp、strlwr、strupr、strrev、strchr、strpbrk、strstr、strtok
最近有点懒很久没有上CSDN上发表文章,抽出了点时间把字符串处理函数重写了一遍。本文仅供参考,如有错误请纠正。谢谢!/* 函数: strcpy原型: char * strcpy( char* _Dest, const char *_Source );功能: 复制源串_Source到目标串_Dest所指定的位置, 包含NULL结束符. 不能处理源串与目标串重叠的情
2010-11-08 16:59:00
4124
4
原创 深入理解DirectX D3D9
深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEVICE、QUERY、Present()、BeginScene()、EndScene()等概念,就算是理解D3D9了,不知道大家有没有同感。有如下几个问题,如果你能
2009-04-09 09:14:00
3822
原创 深度缓冲
1. 什么是深度缓冲 2. 使用深度缓冲 使用深度缓冲 Direct3D立即模式教程中提供了有关使用深度缓冲的更多的内容。 一个深度缓冲,统称被称为z-buffer或w-buffer,是一个DirectDraw表面,它保存着Direct3D使用的深度信息。当Direct3D
2009-04-08 13:54:00
2590
原创 纹理
Direct3D支持广泛的纹理特性设置,使程序员可以轻松的访问提供高级纹理技术。下面我们来讨论Direct3D中的纹理的一些内容: 1. 纹理的基本概念 2. 纹理句柄 3. 纹理接口 4. 纹理过滤 5. 纹理Wrapping 6. 纹理融合 7. 纹理压缩 8. 自动纹理
2009-04-08 13:50:00
2022
原创 在DirectX9.0中使用Mesh
在D3DX中,有很多函数都使用了ID3DXMesh接口,如D3DXCreate*之类。ID3DXMesh接口的主要功能继承自ID3DXBaseMesh父类接口,还有其他的Mesh接口也是从ID3DXBaseMesh接口继承的,如ID3DXPMesh接口,这个接口用于Progressive Mesh,把它翻译成“渐进Mesh”,不知是否合适。本节要达到的目标:l 学习ID3
2009-03-30 16:28:00
1034
原创 对D3D中AGP显存、内存、显存三种内存的解释
三种内存AGP内存(非本地显存),显存(本地内存),系统内存,其中我们都知道系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的时候,如果你运行一个需要很多纹理的3D程序,那么显存一会就不够用了,那该咋办呢?只好问系统内存借点用用了!这就是AGP内存的由来,在我们电脑BIOS中有个设置AGP Aperture的选项,这里就是设置
2009-03-30 16:26:00
1931
原创 DrawPrimitiveUP 与 DrawPrimitive
在D3D中,一共有三种基本图元,分别是点、线和三角形。点是最简单的图元,由它可以构成一种叫点列(point list)的图元类型。线是由两个不重合的点构成的,一些不相连的线组成的集合就叫线列(line list),而一些首尾相连但不形成环路的线的集合就叫线带(line strips)。同理,单独的三角形集合就叫三角形列(triangle list),类似于线带的三角形集合就叫三角形带(triang
2009-03-30 16:25:00
5082
原创 Direct3D中实现图元的鼠标拾取
其实网上到处都可以找到本主题的相关资料,但由于本人看了Microsoft SDK之后再加上自己用笔算了一下,发现网上写的都有点错误,我想可能是由于多个人Copy的原因吧!呵呵,有时本人也要犯这个错误。所以,今天我想在此对错误的地方进行一下修改。[下面加下划线的地方为修改处]3D交互图形应用程序中,常常要用鼠标去选择图形,其实现的机制基于鼠标拾取算法。本文主要讲述如何在D3D中实现图元的鼠标拾取
2009-03-30 16:24:00
1302
原创 Direct3D 10
微软的vista 带了个大家伙 这个可能会导致硬件升级,开发人员为之疯狂的的大家伙。Direct3D 10 要来了 这不仅仅是两位数的飞跃,D3D10图形流水线给出了绘制架构的根本性变化,为了增强了下一代游戏和3D多媒体程序的绘制能力,它的软件和硬件都由底层重新构建。蜕变它基于Windows Vista显示驱动模型(WDDM)构建,增强了功能和性能,保证了GPU显存的完全虚
2009-03-30 16:22:00
3080
原创 HDR技术以及如何实现HDR效果
什么是HDR? 谈论游戏画面时常说的HDR到底是什么呢?HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。 计算机在表示图象的时候是用8bit(256)级或16bit(65536)级来区分图象的亮度的,但这区区几百或几万无法再现真实自然的光照情况。HDR文件是一种特殊图形文件格式,它的每一个像素除了普通的RGB信息,还有该点的实际亮度信息
2009-03-30 16:20:00
4530
2
原创 几何体表面切线计算方法
struct vec3{ float x, y, z;};struct texcoord{ float u,v;};//计算切线void calc_tangent(const vec3& p0, const vec3& p1, const vec3& p2, const texcoord& c0, const texcoord& c1, const texcoord& c2
2009-03-30 16:19:00
850
原创 Parallax Mapping效果
前几天在shadertech网站上看到一个获金牌的效果,叫relief mapping,其中包含relief texture mapping和steep parallax mapping,效果很好,于是开始琢磨着如何来实现其效果,由于steep parallax mapping需要ps3.0的支持,relief texture mapping需要二叉树的搜索,都对资源需要比较高,所以暂时实现
2009-03-30 16:18:00
706
原创 BumpMap、NormalMap的区别
BumpMap一种是Emboss Bump Map(浮雕凹凸贴图),它使用的是Height map,原理是在原始图像的基础上,对高度场图像进行复制、轻微平移、差操作。但它存在很多严重的局限性,它只能用于漫反射表面,对于镜面高光来说是不可能的。当光源直接照射在物体表面时,如果没有偏移,那么物体表面就不会出现任何凹凸现象。 另外一种是DOT3 Bump Map(点乘凹凸贴图),它使用 Bump
2009-03-30 16:17:00
1094
原创 D3DXMatrixShadow创建一个平面的阴影矩阵
定义:D3DXMATRIX *WINAPI D3DXMatrixShadow( D3DXMATRIX *pOut, CONST D3DXVECTOR4 *pLight, CONST D3DXPLANE *pPlane);参数:pOut [in, out] 指向D3DXMATRIX 结构的操作结果矩阵。 pLight
2009-03-30 16:15:00
1078
原创 模板缓冲[镜子]
在自然界中的很多表面象镜子一样允许我们通过它的反射来看物体,我们来看看怎样用3D应用程序来模拟镜子,为了简单起见我们只模拟平面镜。举个例子,一辆擦亮的小汽车能够反射;然而车的车身是光滑的圆的,不是一个平面。我们渲染的是那些光滑的大理石地板、挂在墙上的镜子的反射,换句话说就是在一个平面的镜子。实现镜子的程序需要我们解决两个问题。第一,我们必须学习沿着一个面怎样反射一个物体以便能够正确地绘制反射结
2009-03-30 16:14:00
1251
原创 Render to Texture(渲染到纹理)
·内容 渲染到纹理是D3D中的一项高级技术。一方面,它很简单,另一方面它很强大并能产生很多特殊效果。 比如说发光效果,环境映射,阴影映射,都可以通过它来实现。渲染到纹理只是渲染到表面的一个延伸。我们只需再加些东西就可以了。首先,我们要创造一个纹理,并且做好一些防范措施。第二步我们就可以把适当的场景渲染到我们创建的纹理上了。然后,我们把这个纹理用在最后的渲染上。·main.cpp 首先我们得声明
2009-03-30 16:13:00
1235
原创 指向类成员的指针
今天在网上看了这方面的资料,自己也想总结下: 1.普通函数指针不能付给类的成员函数;要用类指针调用类成员函数(不能满足三个条件1参数2返回值3他的类)2类成员指针: 定义: 指向值的类型 类名::* 指针名; sho
2009-03-30 16:06:00
475
原创 C++类的分解,抽象类与纯虚函数的需要性
为了不模糊概念在这里我们就简单的阐述一下类的分解,前面的教程我们着重讲述了类的继承,继承的特点就是,派生类继承基类的特性,进行结构扩张,这种逐步扩张,逐步在各派生类中分解彼此不同特性的过程其实就是类的分解。 分解过程笔者在这里不想再拿代码进行过多阐述分析了,意思说到,对于逐步分解,逐步扩张的思想就靠大家自己思考了。 拿前面交通工具类的程序进行思考,由交通工具派生出来的汽车类,飞机
2009-03-30 16:05:00
524
原创 COM编程入门
第一部分 什么是COM,如何使用COM 本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。 COM即组件对象模型,是Component Object Model 取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大
2009-03-30 16:04:00
537
原创 解析#pragma指令
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。
2009-03-30 16:02:00
489
原创 标准C++的类型转换符
C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这
2009-03-30 16:01:00
623
原创 顶点声明
从概念上讲,顶点声明是对顶点直接内存访问(DMA)以及图形流水线的 tessellator 引擎进行编程的一种方法。顶点声明简要地表示了数据的布局及 tessellator 操作。为了解决Microsoft® DirectX® 8.x中顶点声明的复杂性和可扩展性,9.0版引入了用来表示顶点数据流的新格式。 顶点着色器和顶点声明不再是在CreateVertexShader的
2009-03-29 18:39:00
1257
原创 矩阵的本质-运动的描述
前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。 可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科
2009-03-29 18:26:00
2765
1
三线定乾坤
2018-01-16
跟庄指标选股公式
2018-01-16
Directx 10简介及新特性
2009-05-18
控制台按键监控(c++实现)
2008-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人