YamateDD

iPhone开发 web开发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  iPhone开发

摘要:我们做好的应用,一般是一个*.app的文件夹,*代表你的应用名称,如果要打成ipa包(小白可能不知道为什么要打成ipa,呵呵)打包要用到一个工具,pledit.exe,这个是用来编辑Info.plist的另外,要注意文件的相对位置,一个应用正确的位置如图,iTunesArtwork.png这个是你应用在手机上显示的图标,大小114*114Payload下面的文件夹Dade.app即你的应用文件夹按位置放好后,就是要编辑Dade.app下面的Info.plist文件了,在里面加入2行内容如下1<key>SignerIdentity</key>2<string> 阅读全文
posted @ 2012-03-23 17:42 YamateDD 阅读(810) 评论(0) 推荐(0)

摘要:原文链接:http://kqwd.blog.163.com/blog/static/4122344820117191351263/开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1目前Xcode 4.2 Preview版也已经发布,据说其修改方法跟4.1非常类似,只改动了一行代码,请参看参考文章的第二篇。本文仍以4.1版本为例。更新:现在Xcode 4.2正式版和iOS 5均已发布,下面补充上4.2的修改方法。(2011-10-24)各步骤会标明版本,比如(Xcode4.1请执行)和(Xcode4.2请执行),4.2.1的修改方法与4.2完全 阅读全文
posted @ 2012-02-08 14:32 YamateDD 阅读(1334) 评论(0) 推荐(0)

摘要:更新歷史:2009.07.26- OS 3.0 修正.(本更新檔案為附件中GameBoxDemo5.SDK3.0.zip)2009.03.28 (64樓)- hgeParticleSystem (粒子系統)- hgeDistortionMesh (圖像特效)(本更新檔案為附件中GameBoxDemo5.rar, 模块稍後補上)2009.03.27 (56樓)- 新增 CCAssetBox(本更新檔案為附件中CCGameBox Application.zip, Sidewalk_with_example.rar 和 GameBoxDemo4.rar)2009.03.23 (47樓)- 新增 CC 阅读全文
posted @ 2012-02-03 15:03 YamateDD 阅读(241) 评论(0) 推荐(0)

摘要:很長時間沒更新教程了, 今天趁著項目沒那麼忙, 為大家解說一下怎樣在遊戲里顯示文字.iPhone 系統里已有不少字體, 我們理論上可以用NSString 來畫字:复制代码[string drawAtPoint:CGPointMake(x, y) withFont:font]但因為速度關係和不想以系統的東西混合了OpenGL ES一起運用, 我們還得另外想想辦法.如果大家有詳細的看過Texture2D 的代碼, 會發現一個 initWithString 的生成貼圖的方法, 它的功能就是把一段文字, 畫在一張貼圖上, 我們跟著就可以應用這個貼圖在自己的遊戲中. 一般不用太多文字的遊戲, 這個方法基 阅读全文
posted @ 2012-02-03 15:02 YamateDD 阅读(174) 评论(0) 推荐(0)

摘要:大師畢卡索說: Good artists copy, great artists steal! 我們寫遊戲, 也不一定什麼都要自己寫, 有用的開源項目那麼多, 有時候順手拿來用一下, 不亦樂乎?這次為大家介紹的, 正是我從一個windows 的開源遊戲引擎 HGE 上借來的粒子系統. (HGE 網站:http://hge.relishgames.com/)代碼要改動的地方其實不多, 主要載入粒子定義和渲染部份!附件之一是windows粒子編輯器, 大家可以用它來制作不同的粒子效果!附件:iDemo7.rar(64 K) 下载次数:1989附件:hge_particleed.rar(258 K) 阅读全文
posted @ 2012-02-03 15:02 YamateDD 阅读(194) 评论(0) 推荐(0)

摘要:Seven 同學在論譠討論怎樣顯示MD2, 正好我以前在PSP 上有個MD2的類,我把它移植了過來,給大家參考一下或拿來玩玩。在Wrapper 里,我也加了兩個新功能,一個是 Enable2D(),一個是 Enable3D(),方便我們混合2D/3D。复制代码void Enable2D(){int width = SCREEN_WIDTH;int height = SCREEN_HEIGHT;glViewport(0, 0, width, height);glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrthof(0, (float)width, 阅读全文
posted @ 2012-02-03 15:02 YamateDD 阅读(223) 评论(0) 推荐(0)

摘要:通過上一篇, 我們已有個基本的畫圖功能, 這次讓我們弄一個簡單的遊戲框架吧!其實一般的遊戲, 大至有兩個主要的函數就可以了: update 和 render!我們在 update 里更新遊戲數據, 然後在render 里把遊戲的畫面畫出來。我們來定議一個叫 CCGameApp 的 class 吧:复制代码class CCGameApp{public: CCGameApp(); ~CCGameApp(); void update(float dt); void render();大家看到我們的 update 函數, 有一個 dt 參數, 在這里我約為解說一下: 遊戲的更新率, 最理想是... 阅读全文
posted @ 2012-02-03 15:01 YamateDD 阅读(187) 评论(0) 推荐(0)

摘要:在群里有同學們為了怎樣用 OpenGL ES 縮放圖像而煩惱,正好我也很久沒更新這個教程了,所以把第三篇的代碼更新了一下,加了縮放和混色的功能。我也用了 SDK Final 的模塊,重新建立了一次項目。這次的修改,主要是 CCSprite 的 render, 大家可以參考一下,怎麼用glScalef 來作縮放。复制代码void CCSprite::render(float x, float y, float angle, float xScale, float yScale){y = SCREEN_HEIGHT-y;// for OpenGL ES, (0,0) is at lower lef 阅读全文
posted @ 2012-02-03 15:01 YamateDD 阅读(163) 评论(0) 推荐(0)

摘要:在第一篇我們弄好了一個 OpenGL ES 框架, 接下來我們可以再進一步為寫遊戲作準備了, 這時, 我們有一個問題要好好考慮一下: 到底我們想以 Obj-C 開發還是以 C/C++ 開發呢? 個人來說, 我還是比較偏向 C/C++, 一來比較熟, 二來要是借用別人遊戲方面的代碼, 也比較容易找到! 所以在本篇, 我會和大家介紹一下怎麼混合 C/C++ 和 Obj-C, 並編寫一個 C++ 的 sprite class, 方便以後在遊戲里應用!我們首先要做的第一件事, 是打開第一篇的示範工程,並把檔案的點綴名由 .m 改為 .mm, 這樣, 我們就可以在代碼里, 隨意引用 C++ 的 clas 阅读全文
posted @ 2012-02-03 15:00 YamateDD 阅读(222) 评论(0) 推荐(0)

摘要:看了些大家在论坛的讨论, 似乎有不少同学有意用 OpenGL ES 写游戏, 但又好像不知道从那方面入手, 所以我决定为 cocoachina.com 写几篇教程, 和大家分享一下我在这方面的经验, 希望对大家有看了些大家在论坛的讨论, 似乎有不少同学有意用 OpenGL ES 写游戏, 但又好像不知道从那方面入手, 所以我决定为 cocoachina.com 写几篇教程, 和大家分享一下我在这方面的经验, 希望对大家有点帮助, 也顺便推广一下 OpenGL ES 的应用!不过大家要注意的是, 这个教程所想包含的, 只是OpenGL ES 的入门和怎么利用它写 2D 游戏, 至于本教程标题, 阅读全文
posted @ 2012-02-03 14:59 YamateDD 阅读(395) 评论(1) 推荐(0)

摘要:http://www.cocoachina.com/special/fornew.html 阅读全文
posted @ 2012-02-03 14:55 YamateDD 阅读(234) 评论(0) 推荐(0)

摘要:新年伊始,万象更新。新一年开始,我们来更加深入了解一下iPhone开发的内部。作为开始,我们先来了解一下ARC。ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC 阅读全文
posted @ 2012-02-03 14:48 YamateDD 阅读(349) 评论(0) 推荐(0)

摘要:上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。所有者属性我们先来看看与所有权有关系的属性,关键字间的对应关系。属性值关键字所有权strong__strong有weak__weak无unsafe_unretained__unsafe_unretained无copy__strong有assign__unsafe_unretained无retain__strong有strong该属性值对应 __strong 关键字,即该属性所声明的变量将成为对象的持有者。weak该属性对应 __weak 关键字,与 __weak 定义的变量一致,该属性所声明的变 阅读全文
posted @ 2012-02-03 14:48 YamateDD 阅读(356) 评论(0) 推荐(0)

摘要:当我们的程序突然死掉了,Xcode突然送出一段 "message sent to deallocated instance" 的错误,我们该怎样定位我们的程序bug呢?又或者我们已经通过AdHoc发布了我们的β版程序,更甚至于我们的程序已经发布到了app store上;而当我们的程序突然在测试人员,或者是最终用户那里突然当掉,是否能收集到这样的日志信息,供我们解析bug呢?下面的文章中我将逐步深入地说明这些技巧模拟器上显示堆栈信息当我们在模拟器上调试时,可能经常遇到下面的内存访问错误:12011-01-17 20:21:11.41 App[26067:207] *** -[ 阅读全文
posted @ 2012-02-03 14:47 YamateDD 阅读(3194) 评论(1) 推荐(0)

摘要:Sequence 顺序顺序Action能够让你创建一系列的动作,这些动作将会按着顺序被执行。1234id action1 = [MoveTo actionWithDuration:2 position:ccp(100,100)];id action2 = [MoveBy actionWithDuration:2 position: ccp(80,80)];id action3 = [MoveBy actionWithDuration:2 position: ccp(0,80)];[sprite runAction: [Sequence actions:action1, action2, a.. 阅读全文
posted @ 2012-02-03 14:47 YamateDD 阅读(180) 评论(0) 推荐(0)

摘要:这里主要是翻译cocos2d wiki中的文档,也参考了其他博文。主要是作为基础知识作为这个系列的开始。Scenes 场景场景是被一个Scene 对象实现的,或多或少的,是一个独立的程序流的一部分。一些人可把它称作是screens屏幕,或者是stages舞台。你的程序可以有很多场景,但是只有一个可以在给定的时间内的被激活的。例如,你可能有一个游戏,它有如下的场景。Intro, Menu, Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene, High scores screen你可以定义他们中的任何一个作为独立的应用, 阅读全文
posted @ 2012-02-03 14:46 YamateDD 阅读(194) 评论(0) 推荐(0)

摘要:ActionsAction就好像给一个cocosNode对象的命令。这些动作通常用来改变物体的属性,例如位置,旋转,缩放等。如果这些属性在一段时间只能被修改的话,那么这中叫做 IntervalAction 的Action。否则,它们叫做InstantAction 的动作。例如:MoveBy 动作,在一段时间之内,改变了位置这个属性 ,也就是说它是一个IntervalAction的Action。12# Move a sprite 50 pixels to the right, and 10 pixels to the top over 2 seconds.[sprite runAction: [ 阅读全文
posted @ 2012-02-03 14:46 YamateDD 阅读(207) 评论(0) 推荐(0)

摘要:这一回,主要介绍一下iPhone SDK中多线程的使用方法以及注意事项。虽然现在大部分PC应用程序都支持多线程/多任务的开发方式,但是在iPhone上,Apple并不推荐使用多线程的编程方式。但是多线程编程毕竟是发展的趋势,而且据说即将推出的iPhone OS4将全面支持多线程的处理方式。所以说掌握多线程的编程方式,在某些场合一定能挖掘出iPhone的更大潜力。从例子入手先从一个例程入手,具体的代码参考了这里。还有例程可以下载。多线程程序的控制模型可以参考这里,一般情况下都是使用管理者/工人模型,这里,我们使用iPhone SDK中的 NSThread 来实现它。首先创建一个新的 View-b 阅读全文
posted @ 2012-02-03 14:45 YamateDD 阅读(217) 评论(0) 推荐(0)

摘要:今天我们来看看 iPhone 中数据库的使用方法。iPhone 中使用名为 SQLite 的数据库管理系统。它是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。其使用步骤大致分为以下几步:创建DB文件和表格添加必 阅读全文
posted @ 2012-02-03 14:44 YamateDD 阅读(331) 评论(0) 推荐(0)

摘要:这一回简单地介绍一下GPS的使用方法。使用GPS大致分下面两步。添加 CoreLocation.framework。生成 CLLocationManager 测量位置。测试代码如下:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566// LocationViewCtrl.h#import <UIKit/UIKit.h>#import <CoreLocation/CoreLocatio 阅读全文
posted @ 2012-02-03 14:44 YamateDD 阅读(172) 评论(0) 推荐(0)