• iPhone游戏开发笔记(一):使用到的工具和技术


        从小到大都有游戏梦,所以希望能开发出自己的游戏。iPhone游戏开发主要用到这些技术和工具:Objective-C或C/C++, Xcode, UIKit, Quartz 2D, Core Animation, OpenGL, audio APIs, networking, GameKit。

    开发工具与环境

        iPhone开发使用的语言是objective-c。objective-c是c语言的扩展,给c简单直接的面向对象的特性。iPhone所有的api接口都是用objective-c实现的,但是也有些非接口部分是使用c/c++实现的。所以你需要熟练使用objective-c,对c/c++也有一定的了解。

        开发工具是Xcode,是一款功能强大的IDE。

    UIKit

       UIKit提供了一种最简单的方式来绘制图形和UI元素。使用UIKit显示和定位位图是非常简单的,由于低层的硬件加速,速度还是蛮快的。对于游戏开发,图形和动画很少的游戏,使用UIKit是个非常不错的选择。

       下图是款完全使用UIKit开发的小游戏,没有直接用到OpenGL ES。它也有有大量图形和动画元素,它几乎接近了UIKit中可以做到的图形帧速率限制。如果你想添加更多的图形,那么你就要使用OpenGL ES ,来确保它能快速的运行在所有的设备上。

       下图也是一个有UIKit开发的游戏。它不需要OpenGL ES提供的强大的图形渲染功能。它是一个文字的游戏,只要一个很小的背景动画。所以UIKit非常适合这样开发。

    Quartz 2D和Core Animation

        Quartz 2D也被称为Core Graphics。它提供了一个更为高级的,更底层的绘制引擎。Quartz 2D提供了很多有用和强大的功能,如屏幕渲染,透明层,绘制线条。这些功能派上用场了,许多游戏开发者不喜欢屏幕上画雷达,迷你地图,弯曲的路径,和其他UI元素的东西。虽然它可能用于渲染的一个游戏的主要内容过于缓慢,但是Quartz 2D也是iPhone开发者的的宝贵工具。

        Core Animation为开发人员提供了一种移动和转换UI元素最省力的方法。使用Core Animation,你能够创建硬件加速,使用位置,旋转,透明度等属性创建基于时间的动画。Core Animation也可以用来实现视图之间的过渡。提供了很多内置的过渡方法。

    OpenGL ES

       OpenGL ES最重要的工具,是最快的图形渲染方式,也使它能支持3D模型。

        下图是有OpenGL ES渲染出的3D图形

    下图是由OpenGL ES渲染出的2D模型

    Audio APIs

       游戏离不开声音效果,iPhone开发有对在游戏中使用声音有多种选择。比如更为高级的API:OpenAL,更为简单的:内置的服务。使用哪种取决于你的游戏需要。使用Audio API,你可以流音频,播放短的声音,甚至是在三维空间模拟音频定位。

    Networking

       iPhone给开发人员提供了很多的连接技术。比如实时多人的游戏可以通过在服务器和客户端通过socket和流进行连接,或通过GameKit的蓝牙配对。



    (全文完)


    以下为广告部分

    您部署的HTTPS网站安全吗?

    如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!

    SSL检测评估

    快速了解HTTPS网站安全情况。

    安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。

    SSL证书工具

    安装部署SSL证书变得更方便。

    SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。

    SSL漏洞检测

    让服务器远离SSL证书漏洞侵扰

    TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。

    作者:朱祁林 出处:http://zhuqil.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。  
  • 相关阅读:
    .htaccess文件首行options +followsymlinks作用
    Limit结合使用SQL_calc_found_rows来提高子句的灵活性
    正则表达式基础语法
    left jion时,on和where条件的区别
    【解决方案】RTMP推流网关平台EasyRTMPlive在直播商品生产过程中的应用
    【开发记录】视频智能组网平台EasyNTS上云网关流量监控曲线图日期显示优化
    TSINGSEE青犀视频云边端协同解决方案如何查看有多少视频流同时录像或直播?
    RTMP推流组件EasyRTMPAndroid同时推音频流和视频流时为什么会出现画面不动的情况?
    【BUG修复】网络映射/端口穿透/视频组网服务/EasyNTS上云网关前端显示Disconnected问题排查
    【解决方案】互联网直播系统RTMP推流网关平台EasyRTMPlive在幼儿园家长直播中的应用
  • 原文地址:https://www.cnblogs.com/zhuqil/p/2047026.html
Copyright © 2020-2023  润新知