- 博客(61)
- 资源 (58)
- 收藏
- 关注
原创 BlackBerry10 开发环境搭建
由于当前项目的需要,最近开始学习BlackBerry10的开发,黑莓10系统是2013年1月30日黑莓公司正式发布的,目前网上资料比较少,这篇博客的内容基本上是按照官网上的文档写的。BlackBerry10目前支持C/C++、html5、Adobe air进行开发,也支持将现有的android应用程序重新打包成BAR文件转换到黑莓os上。它基于QNX内核,QNX是一种商用的遵从POSIX规范的类U
2013-03-03 01:42:29
1438
原创 android ContentProvider使用详解
由于之前主要做手机游戏相关的开发,所以ContentProvider了解的不多,今天就来学习一下。1. 首先来了解一下ContentProvider是什么?它的作用是什么?ContentProvider是Android的四大组件之一,可见它在Android中的作用非同小可。它主要的作用是:实现各个应用程序之间的(跨应用)数据共享,比如联系人应用中就使用了ContentProvider,你在
2013-02-27 22:53:52
1704
原创 android listview局部刷新和模拟应用下载
在android开发中,listview是比较常用的一个组件,在listview的数据需要更新的时候,一般会用notifyDataSetChanged()这个函数,但是它会更新listview中所有可视范围内的item,这样对性能肯定会有影响。比较常见的情景是android应用商店中的下载列表,当我们下载一款游戏的时候,只需要更新这款游戏对应的进度就可以了。本文就来模拟android应用商店的游戏
2013-01-27 16:42:32
2568
7
原创 java多线程 一个生产者和多个消费者
生产者和消费者模式是面试时很容易被问到的一类题,在平常的开发中也经常碰到,比如在网游开发中:用一个线程把收到的字节数据封装起来写到一个队列中,然后用一个或多个线程从该队列中把数据读取出来再分发。本文来实现类似的情景:5个通宵加班并饿了一天的程序员去包子店吃小笼包,小笼包分为菜包和肉包,随机分配的,由于公司只给报销20个包子的钱,所以就只点了20个包子,包子店的老板娘一次只能蒸10个包子,而且是必须
2013-01-27 16:36:04
3033
原创 cocos2d-x 显示中文字符和解析XML文件
在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有时候也是为了更方便了。本文采用两种方案来解决这个问题:1. 使用iconv,引擎也提供了这个库,不过只是win32平台,移植到android上还得自己去下载iconv库编译。2. 把字符串写到xml文件中,然后解析xml文件,格式按照android中的strings.xml
2013-01-26 15:58:47
1729
原创 cocos2d-x CCScrollView和CCTableView的使用
在游戏和应用中经常要实现左右滑动展示游戏帮助、以列表显示内容的UI效果,就像android中的Gallery和ListView。本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本。首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经
2013-01-08 23:12:21
1658
原创 cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
本文主要实现两个功能:(1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。(2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得包含头文件,android是
2012-12-16 11:07:56
1701
原创 cocos2d-x 2.0版本 自适应屏幕分辨率
我使用的版本是cocos2d-2.0-x-2.0.4,cocos2dx-2.0版本对多分辨率适配提供了很好的支持,使用起来比1.0版本要简单些,1.0版本的适配可以参考这篇博文。1. 做2.0版本的适配首先需要了解下面这些知识。(1)适配策略2.0版本提供了三种适配策略:kResolutionNoBorder:超出屏幕的部分会被裁剪,两侧没有黑边,铺满屏幕,按图片原始比例显示,图片
2012-12-16 10:53:30
1199
原创 cocos2d-x 1.0版本 自适应屏幕分辨率
最近需要把IOS上的一款游戏移植到Android平台,该游戏使用的cocos2d-x版本是cocos2d-1.0.1-x-0.12.0,由于美术太忙,没法提供android平台的图片,没办法暂时就只能用ipad的图片了,图片的尺寸是1024×768。我想要实现的效果是:图片资源能根据手机实际的分辨率自动缩放,由于只有一套图片没法在各分辨率全屏显示,可以接受两侧留黑边。在网上找到一个不错的实现方案,
2012-12-16 10:42:32
648
原创 c/c++中指针参数传递
先来看下面这段小程序test.c:#include #include #include void init(char *p){ p = (char *)malloc(100);} int main(){ char *p = NULL; init(p); if(p) { strcpy(p, "hello");
2012-12-16 10:36:19
727
原创 cocos2d-x-使用fopen函数读取assets里的内容导致crash
最近把win32和ios上运行成功的游戏移植到android时,程序直接挂了,查到原因是:使用fopen读取assets里的数据会导致应用crash,因为数据已经被压缩打包进apk文件里了。解决办法:1.使用cocos2d-x提供的CCFileUtils工具类2.把assets中的文件读取出来复制到/data/data/you_app_packagename/或者sd卡目录下,然后再使
2012-12-16 10:29:59
1634
原创 cocos2dx-2.0.3+win7下移植TestCpp到android平台
coocs2dx2.x版本跟1.0版本还是有些区别的,相关API和移植方法都改变了,1.x版本的移植可以参考这篇博文。(1)首先使用eclipse新建一个Android Project,选择Android Project from Existing Code,Root Directory:cocos2dx安装目录\samples\TestCpp\proj.android,然后Finish。
2012-11-18 20:07:56
1392
原创 android网游开发之socket的简单设计和实现
对于普通应用的网络模块一般使用http文本协议,在android开发中使用http协议比较简单,sdk已经做了很好的封装了,具体使用方法可以参考我的这篇博文。而在游戏开发中,可以结合使用http和socket,当然了http协议底层也是基于tcp协议的。http协议是无连接、无状态的,每次连接只能处理一个请求,然后就断了,而且发一个请求需要附加额外信息(请求行、请求头),每次请求都需要重新建立连接
2012-11-10 00:13:59
1277
原创 cocos2d-x学习笔记-CCMenu和CCMenuItem详解
学习cocos2d-x中的菜单主要需要了解:菜单(CCMenu)和菜单项(CCMenuItem)以及CCMenuItem的具体子类。a. 下面来学习一下相关的类。1. CCMenu菜单,是CCLayer的子类,是一个层(容器),可以往里面添加菜单项。下面是它的类结构图:CCMenu默认接受触屏事件的优先级是-128(优先级很高,因为值越小,响应触屏事件的优先级越高),可
2012-11-04 00:35:33
1835
转载 cocos2d-x学习笔记-纹理优化
转载自:红孩儿的游戏编程之路优快云博客地址:http://blog.youkuaiyun.com/honghaier在目前的移动平台游戏开发过程中,很多朋友会遇到开发出来的DEMO占用内存过大,导致渲染效率低下的问题。究其原因,是由硬件本身和软件逻辑两方面的因素造成的。在硬件上,移动设备往往可用内存相比于PC还比较小,所以所能使用的内存就少。在软件逻辑上,大量使用大图片导致占用内存过大,以及过多单图
2012-10-31 15:14:55
793
原创 cocos2d-x学习笔记-动画
这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来。1. 首先来了解一下相关的类CCAnimation:是精灵用来播放动画的参数,内部封装了一个帧序列(CCMutableArray)和每帧播放间隔时间(float m_fDelay),初始化该对象时记得指定delay时间,否则默认是0。CCAnimationCache:从名字很容易看出,
2012-10-31 03:20:48
1119
原创 cocos2d-x学习笔记-CCSprite(精灵)
精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。1. 首先来了解一下跟精灵相关的几个类:(1) CCTexture2D可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用opengl es绘制2d图形的,它的尺寸是2的n次方。一般通过以
2012-10-30 08:38:43
1823
1
原创 cocos2d-x学习笔记-触屏事件详解
游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就
2012-10-30 00:34:39
1766
原创 cocos2d-x学习笔记-CCAction(动作)
上一篇我们学习了CCNode类(实体),但游戏单单只有静止不动的实体肯定不行,得让它们执行一些动作,有丰富的动画效果,CCAction及它的子类就是起着这样的作用,它是通过改变这些实体的属性实现的,下面是它的类结构图。从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作。CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动
2012-10-29 00:31:05
1084
原创 cocos2d-x学习笔记-CCNode
前面用cocos2d-x完成了一个简单的demo,已经对使用cocos2d-x开发游戏有了一个大概的认识,现在来学习cocos2d-x中的常用类CCNode。学习cocos2d-x应该先了解它的整体结构,从大方向出发再逐步掌握细节问题,分而治之。cocos2d-x的类采用的是树状继承的方式,CCNode类是一个比较核心的类,下图是类结构图:CCObject类是cocos2d-x
2012-10-27 12:23:03
889
原创 Android JNI开发入门
JNI在Android开发中使用的比较广泛,因为Android应用层是用Java实现,底层是c/c++实现的,所以应用层调用底层库时需要使用JNI。如果你熟悉java和c/c++的话,那么学习JNI主要需要掌握java和c/c++数据类型的转换、JNI语法和函数编写规则。下面首先介绍java基本类型和引用类型跟JNI本地相关类型的对照,然后完成一个简单的demo。1. 对照表Jav
2012-10-27 12:21:44
824
原创 cocos2d-x入门(1)-win7下vs2010+cocos2d-x配置图文详解
cocos2d-x在win7下的配置网上也有很多资料,但是还是想自己整理一篇备参考,首先你的机器上得先装了vs2010.1. 下载安装cocos2d-x最新稳定版本选择一个版本下载,下载后解压到指定目录。找到安装目录下的cocos2d-win32.vc2010.sln文件并双击,如下图。2. 右键点击解决方案,再点击生成解决方案,大概需要几分钟的时间。(
2012-10-27 12:18:48
762
原创 Android Http请求方法汇总
这篇文章主要实现了在Android中使用JDK的HttpURLConnection和Apache的HttpClient访问网络资源,服务端采用python+flask编写,使用Servlet太麻烦了。关于Http协议的相关知识,可以在网上查看相关资料。代码比较简单,就不详细解释了。1. 使用JDK中HttpURLConnection访问网络资源(1)get请求public Stri
2012-10-27 11:53:14
863
原创 cocos2d-x入门(7)-win7下把win32游戏移植到Android平台(无需cygwin和minigw)
接下来需要把win32上测试成功的demo移植到android上运行。首先需要下载最新ndk和eclipse,因为本项目完全使用NDK自带的编译器,没有用到cygwin ,所以需要NDK R7B 以上的版本。步骤如下:(1)把cocos2d-x安装目录下的HelloWorld项目下的android文件夹赋值到SimpleGame项目下。(2)把HelloWorld项目C
2012-10-27 11:45:38
867
原创 cocos2d-x入门(5)-添加背景音乐和攻击音效
游戏没有背景音乐和音效会给游戏扣分不少,现在就给游戏添加背景音乐和发射子弹时的音效。Cocos2d-x已封装了SimpleAudioEngine,我们只要include进来直接调用就行,比较简单。GameScene.cpp头部添加:#include "SimpleAudioEngine.h"init()中添加播放背景音乐的功能:CocosDenshion::SimpleAudioEngin
2012-10-27 11:35:02
1079
原创 cocos2d-x入门(4)-英雄发射子弹和碰撞检测
现在来让我们的英雄发射子弹,主要需要监听屏幕触摸事件,根据触摸点的坐标和英雄的位置决定子弹行走路线。然后对子弹和屏幕上的敌人进行碰撞检测,若击中敌人则把子弹和敌人都从该层清除。在头文件GameScene.h中添加如下代码:void update(cocos2d::ccTime dt); void ccTouchesEnded(cocos2d::CCSet *touches,
2012-10-27 11:29:06
792
原创 cocos2d-x入门(3)-添加一个英雄和一群移动的敌人
1. 首先创建一个Cocos2d-win32 Application,名为SimpleGame,这里不需要物理引擎,所以去掉Box2D选项。具体方法在(win7下vs2010+cocos2d-x配置图文详解)这篇文章里已经介绍了。2. 创建一个GameScene.h头文件和对应的源文件GameScene.cpp代码如下:GameScene.h#ifndef __GAME_SCENE_H
2012-10-27 11:25:41
836
原创 cocos2d-x入门(2)-实现一个简单的游戏SimpleGame
这个游戏是cocos2d-x官网上的一个demo,作为新手入门是个非常不错的例子,为了学习,接下来把这个demo在win32下重新实现一遍,开发工具使用vs2010,最后移植到android平台。游戏中的图片和音乐资源可以在https://github.com/flyingpacer/Cocos2dxSimpleGame获取。下面简单介绍一下cocos2d-x的基本对象和这个游戏用到的相关
2012-10-27 11:22:48
1357
原创 c++学习笔记-文本查询程序
需求:1. 打开需要查询的文本文件,将文件的内容以行的方式读出并保存起来,需要记录行号和对应的文本。2. 把每一行以单词进行拆分,把每个单词及该单词出现的行号记录起来,一个单词可能出现在多行。3. 处理单词查询功能,返回指定单词出现在文本中的所有行号集合。4. 遍历得出的行号集合,根据行号从1中返回对应下标的文本。 数据结构1. 把文本内容保存到一个vector容器
2012-09-27 00:44:56
577
原创 c++学习笔记-map的使用实例(单词转换)
c++中的map是关联容器,以key-value的形式存储数据,类似于java中的Map类型和python中的dict。key不能重复,并能通过下标的形式(map[key])返回value,因此也被称为关联数组。注意:使用下标的形式赋值时会多一次初始化的操作,举个例子:map,map["alex"] = 1,首先会检查alex这个key是否存在,如果存在则更新key对应的值为1,如果不存在则插入一
2012-09-26 00:36:31
692
原创 python生成图片验证码
下面的代码是使用python生成图片验证码,然后结合flask,返回给前端显示。font_type指定字体路径,这里使用Mac原版字体Monaco.tar,运行程序,打开浏览器访问:localhost:18888/code/#!/usr/bin/env python #coding=utf-8 import random import Image, ImageDraw, Ima
2012-09-26 00:33:38
908
原创 python读取和写入EXIF信息
什么是EXIF信息呢?百度百科:Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及全球定位系统(GPS)、缩略图等。所有的JPEG文件以字符串“0xFFD8”开头,并以字符串“0xFFD9”结束。
2012-09-18 02:16:03
4066
原创 Android SurfaceView使用详解
1. SurfaceView的定义前面已经介绍过View了,下面来简单介绍一下SurfaceView,参考SDK文档和网络资料:SurfaceView是View的子类,它内嵌了一个专门用于绘制的Surface,你可以控制这个Surface的格式和尺寸,Surfaceview控制这个Surface的绘制位置。surface是纵深排序(Z-ordered)的,说明它总在自己所在窗口的后面。Surf
2012-09-18 01:40:29
1258
原创 Android View使用详解
Android中的View就是我们眼睛看到的、屏幕上显示的东东,是Activty的具体内容的体现。每一个View都有一个Canvas(画布),我们可以对它进行扩展,使用画布绘制我们想要的图像。对View进行扩展十分简单,只需要继承View类,重载它的onDraw方法,在onDraw方法中利用画布画出各种图案,包括三角形、点、矩形、线、图片等。View必须在UI线程中刷新屏幕,因此一般用于被动更新画
2012-09-16 18:53:53
749
原创 Flask+Nginx+Gunicorn+Redis+Mysql搭建一个小站
首先简单介绍一下这几个东东。Flask是一个轻量级的Web应用框架, 基于Werkzeug和 Jinja2 模板引擎,使用 Python编写,可扩展强。Nginx是一个高性能的 HTTP 和 反向代理服务器,在高并发方面表现非常不错。Gunicorn 是一个Python WSGI UNIX的HTTP服务器,从Ruby的独角兽(Unicorn )项目移植,能与很多Web框架兼容,只需
2012-09-14 00:49:14
3848
原创 python多版本管理利器-pythonbrew
Pythonbrew 可以在多个 Python之间迅速切换,也可以在指定的 Python 版本下测试python程序,更重要的是它还整合了上一篇文章提到的 Virtualenv。所以,当你的电脑里装了多个python版本,并需要经常切换测试时,pythonbrew就非常适合你。安装配置pythonbrewalexzhou@alexzhou:~/python_workspace$ sud
2012-09-14 00:45:59
1096
原创 python虚拟环境-virtualenv
1.virtualenv简介VirtualEnv用于在一台机器上创建多个独立的python运行环境,类似于一个个沙盒环境。作用:隔离项目之间的第三方库依赖,如A项目依赖xxx1.1,B项目依赖xxx1.2。为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。尝试新的第三方库,而不用担心污染系统环境。在沒有权限的情況下安装新组件
2012-09-14 00:41:51
1236
原创 python-文件操作(2)
本文内容涉及python中的os模块和os.path模块的常用操作,这两个模块提供了与平台和操作系统无关的文件系统访问方法。os模块负责大部分的文件系统操作,包括:删除文件、重命名文件、遍历目录树等;os.path模块提供了一些针对路径名的操作,包括:获取文件和子目录信息,文件路径查询等。1. os模块remove(path) 删除文件rename(src,dst) 重命名
2012-09-14 00:39:07
589
原创 python-文件操作(1)
本文内容涉及python打开/创建文件对象,文件的读写、文件指针位置的移动、获取命令行参数。1. open()open函数以指定模式返回一个file对象,如: file_object = open(filename,access_mode=’r',buffering=-1),默认是以r模式打开文件。filename:表示要打开文件名(字符串),可以是绝对路径或相对路径a
2012-09-14 00:37:12
699
原创 python字典和集合
1. 字典字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、只含不可变类型元素的元组(1,2,3,’abc’)、实现__hash__()方法的自定义对象(因为__hash__()须返
2012-09-14 00:31:28
675
Ext_JS_3.0实例入门.pdf
2010-06-09
ireport图文教程.zip
2010-05-15
新版ext教程 新版ext教程
2010-05-01
详细使用SpringSecurity.chm
2010-04-21
Java程序员+上班那点事儿.pdf
2010-04-09
jsonplugin-0.34.jar
2010-04-07
jar 包 borland.jbcl swing编程
2010-04-02
一个操作系统的实现 PDF电子书
2010-03-26
软件项目需求分析模板
2010-03-26
Java数据结构和算法中文第二版.pdf
2010-03-24
Acunetix Web Vulnerability Scanner+使用说明书
2010-03-21
DIV+CSS布局大全.pdf
2010-03-19
张金亮--四六级87天复习计划+完美版+配作者录音
2010-03-13
特训99游戏源码
2014-03-16
2D横版格斗游戏
2014-02-26
android listview局部刷新和模拟应用下载2 实例源码2
2013-01-28
cocos2d-x 显示中文字符 实例源码
2013-01-26
cocos2d-x CCScrollView和CCTableView的使用 实例源码
2013-01-08
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调-源码
2012-12-15
android网游开发之socket的简单设计和实现-源码
2012-11-09
vimpress增强版插件
2012-06-10
Object-c教程
2010-11-09
android布局工具DroidDraw r1b14
2010-08-27
Android驱动开发入门及手机案例开发分析.pdf
2010-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人