- 浏览: 773816 次
- 性别:
- 来自: 天堂
文章分类
最新评论
-
xiaozhao-521:
呀呀呀呀呀呀呀
RequestTest222 -
Andy_hyh:
打扰了,问下openmeeting源码可以运行起来吗?
Openmeetings安装 详细步骤 -
qindongliang1922:
擦,现在还行么,厉害
北京免费吃饭的地方 -
minixx77:
...
Openmeetings安装 详细步骤 -
wwwqqqiang:
喜欢楼主分享问题的方式,有思想
UIView 和 CALayer的那点事
iPhone开发 - 3D - 建立3D界面(上)
苹果公司于07年发布的iPhone是手机业一大革命性的手机终端,iPhone操作系统是:Mac OS X,固件升级由去年发布1.0到现在的2.0固件.iPhone屏幕大小3.5英寸,分辨率为:320x480,触摸屏,完全用手指就可以完成所有的操作,更为我们惊喜的是条支持OpenGL_Es1.4版本,有着620MHz的ARM处理器,能够非常流畅的运行我们制作的3D精美游戏.
我也是刚学,把自己学的分享下,难免有些错误,希望大家一起指正,下面我介绍下用iPhoneSDK开发3D游戏最基本的事情 - 建立3D窗口界面
有关iPhone的开发环境我这里忽略了,需要的可以到网上查阅相关的文章,在这里我使用的是iPhone官方SDK来开发(可以到Apple官方网站下载免费iPhoneSDK),苹果公司iPhoneSDK提供了一个模板给我们迅速建立OpenGL_Es窗口界面的源码,接下来就用它来解释开发过程.
我们首先打开XCode,(刚开始使用iPhoneSDK,会提示是针对iPhone还是Mac,选择iPhone即可),在上面的Xcode菜单下:"File/New Project.."来新建一个界面,截图如下:
在 iPhone OS面板的"Application"下选择"OpenGL ES Application",然后点击"Choose",它提示工程名称和工程保存的路径,我们这里的工程名字取为:"OpenGLEx",最后点击"OK",就可以看到iPhoneSDK,自动为我们生成的工程模板文件了,截图如下:
二话不说,我们先不管里面的文件,立马点击"Build and Go"图标,看看在iPhone模拟器里面运行的效果,看下面截图:
呵呵,好看不,模拟器的iPhone和真机真像,很漂亮,而且比真机运行速度流畅,你可以通过菜单来90度旋转iPhone模拟器,就和真的一样噢.
接下来说说它的源码构成:
如上图所示,在OpenGLEx下面有5个文件夹:Classes,Other Sources,Resources,Frameworks和Products,他们的作用分别是:程序执行源文件包,工程其他源文件包,资源文件包,相关类库包和产品文件包.而其他的"Targets","Executables"...先不管.
1.首先看Frameworks,这是我们写程序需要导入的类库,就是iPhone公开的接口API,例如我们点击 OpenGLES.framework,可以看到EAGL.h,EAGLDrawble.h,gl.h和glext.h等API头文件,单击这些文件可以看到这些文件的详细内容,可供我们查询相关API.
2.再看Resources,有个MainWindow.xib和Info.plist,对于MainWindow.xib文件它是Xcde的用另一个可视化编辑工具Interface Builder建立的,它的功能非常强大,可以添加和编辑UI控件到iPhone上,并且可以在代码部分控制添加的控件和在没有代码的情况下在 iPhone模拟器上预览搭建好的界面.总之,它提供给我们在设计模式下搭建界面,并且做为1个资源文件供我们在代码部分调用.
而Info.plist,它标记了工程的所以信息,例如软件版本,公司名称,图标,国际化,和模拟器设置等.如截图所示:
3.然后再看Other Sources,有个OpenGLEx_Prefix.pch文件,它是用来预先配置工程运行环境,它的默认代码为:
//还有个main.m文件,它是应用程序的入口程序文件,另外还有一个称为"Delegate"的主程序:OpenGLExAppDelegate,main.m代码如下:
// Prefix header for all source files of the 'OpenGLEx' target in the 'OpenGLEx' project
//
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
#import <UIKit/UIKit.h>如果在Info.plist里面Main nib file base name没有写将MainWindow,也就是没将MainWindow.xib做为程序主框架的话,那"int retVal = UIApplicationMain(argc, argv, nil, nil);"需要修改为下面将要讲的文件的名称:OpenGLExAppDelegate,即修改为:"int retVal = UIApplicationMain(argc, argv, nil, @"OpenGLExAppDelegate");",也就是程序将调用OpenGLExAppDelegate文件继续执行.
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
// OpenGLExAppDelegate.h
#import <UIKit/UIKit.h>
@class EAGLView;
@interface OpenGLExAppDelegate : NSObject <UIApplicationDelegate> {
IBOutlet UIWindow *window;
IBOutlet EAGLView *glView;
}
@property (nonatomic, retain) UIWindow *window;
@property (nonatomic, retain) EAGLView *glView;
@end
// OpenGLExAppDelegate.m
#import "OpenGLExAppDelegate.h"
#import "EAGLView.h"
@implementation OpenGLExAppDelegate
@synthesize window;
@synthesize glView;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
glView.animationInterval = 1.0 / 60.0;
[glView startAnimation];
}
- (void)applicationWillResignActive:(UIApplication *)application {
glView.animationInterval = 1.0 / 5.0;
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
glView.animationInterval = 1.0 / 60.0;
}
- (void)dealloc {
[window release];
[glView release];
[super dealloc];
}
@end
发表评论
-
iOS 自定义UIActionSheet
2012-12-18 16:07 16424一:模态视图 UIActi ... -
UIView 和 CALayer的那点事
2012-11-17 23:51 30782UIView 和 CALayer的那点事 (1 ... -
iOS Open Source : Popover API for iPhone
2012-01-20 15:02 1948http://iphonedevelopertips.com/ ... -
ios 任务、线程、定时器
2011-12-26 18:09 8032一:operations(任务) cocoa提供了三种 ... -
ios url缓存策略——NSURLCache、 NSURLRequest
2011-12-26 17:09 24360一:url 缓存策略 NSURLRequest ... -
ios NSInvocation简单使用
2011-12-22 16:39 6379在ios直接调用某个对象的消息是方法有两种: 一:perfo ... -
iphone 对Web Services的三种请求方式soap get post
2011-11-09 10:57 6444一:Using SO AP 1.1 POST / ... -
sdk3.2手势实例
2011-11-09 10:11 1747#import <UIKit/UIKit.h>@i ... -
关于iphone 利用hpple解析html的问题
2011-08-04 18:28 2229最近在用happe解析html中的图片。有个翻页操作,如果请 ... -
iphone hpple 解析html,xml
2011-07-19 16:21 2755使用Objective-C解析HTML或者XML,系统自带有两 ... -
激活 iPhone通过 GPRS 连接服务器功能的代码
2011-05-13 15:14 1663如果您的 iPhone 应用里含有连接服务器的功能,也许会遇到 ... -
address book api 图型
2011-04-28 15:51 1151最近要搞地址簿了,整理一下 -
[OmniGraffle]iPhone app原型制作工具
2011-04-06 17:35 3962在写程序之前,我们通常需要做一些mockup出来(不知道款爷有 ... -
自定义uislider 样式
2011-04-04 21:28 3844UIImage *stetchLeftTrack= [[UII ... -
iphone 下AsyncSocket网络库编程
2011-04-02 21:04 7647iphone的标准推荐CFNetwork ... -
进阶AlertView运用 - 登入设计
2011-04-01 17:52 3043说明:示范如何利用AlertView来制作系统登入的介面程式碼 ... -
iPad UIPopoverController弹出窗口的位置和坐标
2011-04-01 17:42 2008优化规则: TodoViewControlle ... -
iPhone系统自动化测试
2011-04-01 17:39 2624首先mac系统是必备的2 安装iPhone SD ... -
iphone上面编写具有root权限的程序
2011-04-01 17:31 6302正常途径下, 我们编写的程序发布在App store上, 使用 ... -
聊天。。。。。
2011-04-01 17:13 1095是得分手段
相关推荐
iphoneos-arm iPhone 必备工具
1. **UIKit框架**:在iPhone游戏开发中,通常会用到UIKit框架,它提供了用于构建用户界面的基本元素,如按钮、滑块、标签等。在这个案例中,我们可能需要自定义UI控件来模拟手柄的外观和交互。 2. **Core Graphics*...
cydia_1.0.3366-1_iphoneos-arm-安装包-图标不见了
iPhone开发-全校公选课考试题.doc
ios iphone开发-内存管理 所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)
综上所述,开发iPhone上的QQ聊天功能涵盖了多种技术和概念,从编程语言、UI设计到网络通信、数据库操作等,每个环节都需要细致考虑和精心设计。在实践中,开发者还需要根据具体需求不断调整和优化,以提供最佳的用户...
首先,iPhone开发中的控件主要来自于UIKit框架,如UIButton、UILabel、UITextField、UITableView、UICollectionView等,它们是构建用户界面的基本元素。每个控件都有其特定的用途: 1. UIButton:用于创建按钮,...
ios方面的计算器程序,通过这个程序我们至少可以学会基于视图的应用程序开发的流程(定义输入口和操作、连接到Interface Builder、实现我们的程序逻辑等),掌握了Xcode、InterfaceBuilder和模拟器之间的配合开发。
对于希望为iPhone开发高质量3D游戏的开发者来说,Unity3D提供了一个完整的解决方案。本节将详细介绍如何使用Unity3D进行iPhone 3D游戏的艺术设计和编程工作。 ##### 1. **Unity3D基础** - **界面介绍**:Unity3D的...
iPhone开发秘籍---第二版
总之,"lhunath-Cocos2D-iPhone.old-9ab3d34"是一个宝贵的教育资源,对于想要深入学习和精通iOS游戏开发的开发者来说,这是一个不容错过的学习材料。通过细致的阅读和实践,开发者可以提升自己的技能,创造出更加...
iphone开发中,导航和tabbar的结合使用,代码样例。
本资料集合了iPhone SDK的源码分析与配套书籍,是深入理解iPhone .NET开发的宝贵资源。 首先,让我们来探讨iPhone SDK的核心组成部分。SDK包括Xcode IDE,这是一个强大的集成开发环境,支持代码编辑、调试和项目...
《iPhone开发基础教程-PDF版》是一份专为初学者设计的全面指南,旨在帮助读者掌握iOS应用开发的基础知识和技能。本教程涵盖了从安装开发环境到创建第一个应用的全过程,深入浅出地讲解了iPhone应用程序开发的核心...
iPhone开发秘籍---第二版.zip part2
【标题】"知易Cocos2D-iPhone开发教程-08",这是一份针对Cocos2D-iPhone框架的教程,旨在帮助开发者深入理解并掌握如何在iOS平台上使用Cocos2D进行游戏或应用的开发。"08"表示这是系列教程中的第八部分,意味着它...
【标题】"mobile-iPhone-Horizontal" 指的是一个设计资源集合,专门针对iPhone设备的横向布局。在移动应用设计中,设备的横屏模式往往用于展示更宽广的内容或者提供不同的交互体验,比如游戏、地图应用或者多媒体...
iphone12样机XD iphone12-clay-mockup-tranmautritam.xd