当前位置: 编程技术>移动开发
本页文章导读:
▪3、phoneGap中使用相机功能 三、phoneGap中使用相机功能
今天用了phoneGap的camera功能,操作很简单,下面记录操作步骤,方便以后查看,详细解说可以参考官网api,地址为:http://docs.phonegap.com/en/2.3.0/cordova_camera_camera.md.h.........
▪ 取系统转屏设立, 机器是否有G-sensor 取系统转屏设置, 机器是否有G-sensor
ContentResolver resolver = getContentResolver(); int userRotation = Settings.System.getInt(resolver, Settings.System.ACCELEROMETER_ROTATION, 0);List<Sensor> list = sensorMgr.getSensorList(Senso.........
▪ 主流手机游戏发动机介绍 主流手机游戏引擎介绍
主流手机游戏引擎介绍2013-4-19 11:04| 发布者: chino| 查看: 1497| 评论: 61|原作者: 宋志辉摘要: 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图.........
[1]3、phoneGap中使用相机功能
来源: 互联网 发布时间: 2014-02-18
三、phoneGap中使用相机功能
今天用了phoneGap的camera功能,操作很简单,下面记录操作步骤,方便以后查看,详细解说可以参考官网api,
地址为:http://docs.phonegap.com/en/2.3.0/cordova_camera_camera.md.html#Camera
1、创建项目,这项目叫cameraTest;
2、修改config.xml文件:
在<plugins></plugins>之间看下是否有下面配置参数信息,如有则OK,没有需要加上
3、编写代码:
在index.html下面写入如下代码
下面对涉及到的一些参数信息做一些备注
1、cameraOptions
quality:存储图像的质量,范围是[0,100]。(数字类型)
destinationType:选择返回数据的格式。通过navigator.camera.DestinationType进行定义。(数字类型)
2、sourceType:设定图片来源。
通过nagivator.camera.PictureSourceType进行定义。(数字类型)
3、allowEdit:
在选择图片进行操作之前允许对其进行简单编辑。(布尔类型)
4、EncodingType:
选择返回图像文件的编码方式,通过navigator.camera.EncodingType进行定义。(数字类型)
5、camera.cleanup
清空使用摄像头拍照时候产生的缓存文件.
当我们使用如下参数的时候会产生临时文件
Camera.sourceType = Camera.PictureSourceType.CAMERA and Camera.destinationType = Camera.DestinationType.FILE_URI
通过调用下列方法清除缓存
navigator.camera.cleanup( cameraSuccess, cameraError );
可以自定义cameraSuccess,cameraError 进行相关的操作
今天用了phoneGap的camera功能,操作很简单,下面记录操作步骤,方便以后查看,详细解说可以参考官网api,
地址为:http://docs.phonegap.com/en/2.3.0/cordova_camera_camera.md.html#Camera
1、创建项目,这项目叫cameraTest;
2、修改config.xml文件:
在<plugins></plugins>之间看下是否有下面配置参数信息,如有则OK,没有需要加上
<plugin name="Compass" value="CDVLocation" />
3、编写代码:
在index.html下面写入如下代码
<!DOCTYPE html> <html> <head> <title>Capture Photo</title> <script type="text/javascript" charset="utf-8" src="/blog_article/js/cordova-2.3.0.js"></script> <script type="text/javascript" charset="utf-8"> <!DOCTYPE html> <html> <head> <title>Capture Photo</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" charset="utf-8" src="/blog_article/cordova-2.3.0.js"></script> <script type="text/javascript" charset="utf-8"> var pictureSource; //图片来源 var destinationType; //返回的图片数据格式 document.addEventListener("deviceready",onDeviceReady,false); // 设备初始化之后调用 function onDeviceReady() { pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.DestinationType; } //拍照之后成功调用方法 function onPhotoDataSuccess(imageData) { var smallImage = document.getElementById('smallImage'); smallImage.style.display = 'block'; //显示拍摄的照片 smallImage.src = "data:image/jpeg;base64," + imageData; } //从相册中选择照片成功之后调用方法 function onPhotoURISuccess(imageURI) { var largeImage = document.getElementById('largeImage'); largeImage.style.display = 'block'; largeImage.src = imageURI; } //获取拍照照片 function capturePhoto() { navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: destinationType.DATA_URL }); } //获取拍照照片,可以对其进行编辑 function capturePhotoEdit() { navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true, destinationType: destinationType.DATA_URL }); } //从相册中获取照片 function getPhoto(source) { navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI, sourceType: source }); } //拍照取消或者拍照失败调用函数 function onFail(message) { alert('Failed because: ' + message); } </script> </head> <body> <button onclick="capturePhoto();">只获取拍照图片</button> <br><br><br> <button onclick="capturePhotoEdit();">获取拍照图片并且可以编辑</button><br><br> <br> <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">从相册中获取照片</button><br><br><br> <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">从拍摄的照片中获取照片</button><br><br><br> <img id="smallImage" src="" /> <img id="largeImage" src="" /> </body> </html> </script> </head> <body> <button onclick="capturePhoto();">Capture Photo</button> <br> <button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br> <button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br> <button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br> <img id="smallImage" src="" /> <img id="largeImage" src="" /> </body> </html>
下面对涉及到的一些参数信息做一些备注
1、cameraOptions
quality:存储图像的质量,范围是[0,100]。(数字类型)
destinationType:选择返回数据的格式。通过navigator.camera.DestinationType进行定义。(数字类型)
Camera.DestinationType = { DATA_URL : 0, //返回Base64编码字符串的图像数据 FILE_URI : 1 //返回图像文件的URI }
2、sourceType:设定图片来源。
通过nagivator.camera.PictureSourceType进行定义。(数字类型)
Camera.PictureSourceType = { PHOTOLIBRARY : 0, //来源相册 CAMERA : 1, //默认,来源相机 SAVEDPHOTOALBUM : 2 //来源拍摄的照片 }
3、allowEdit:
在选择图片进行操作之前允许对其进行简单编辑。(布尔类型)
4、EncodingType:
选择返回图像文件的编码方式,通过navigator.camera.EncodingType进行定义。(数字类型)
Camera.EncodingType = { JPEG : 0, // 返回JPEG格式图片 PNG : 1 // 返回PNG格式图片 };
5、camera.cleanup
清空使用摄像头拍照时候产生的缓存文件.
当我们使用如下参数的时候会产生临时文件
Camera.sourceType = Camera.PictureSourceType.CAMERA and Camera.destinationType = Camera.DestinationType.FILE_URI
通过调用下列方法清除缓存
navigator.camera.cleanup( cameraSuccess, cameraError );
可以自定义cameraSuccess,cameraError 进行相关的操作
[2] 取系统转屏设立, 机器是否有G-sensor
来源: 互联网 发布时间: 2014-02-18
取系统转屏设置, 机器是否有G-sensor
ContentResolver resolver = getContentResolver();
int userRotation = Settings.System.getInt(resolver, Settings.System.ACCELEROMETER_ROTATION, 0);
List<Sensor> list = sensorMgr.getSensorList(Sensor.TYPE_ACCELEROMETER);
ContentResolver resolver = getContentResolver();
int userRotation = Settings.System.getInt(resolver, Settings.System.ACCELEROMETER_ROTATION, 0);
List<Sensor> list = sensorMgr.getSensorList(Sensor.TYPE_ACCELEROMETER);
[3] 主流手机游戏发动机介绍
来源: 互联网 发布时间: 2014-02-18
主流手机游戏引擎介绍
主流手机游戏引擎介绍
2013-4-19 11:04| 发布者: chino| 查看: 1497| 评论: 61|原作者: 宋志辉
摘要: 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始 ...
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。这里有更详细的游戏引擎原理。
手机游戏引擎则是在手机和平板上运行的游戏的引擎,智能手机和平板的触摸+传感器的操作方式与传统游戏相比有很大的不同,而操作方式直接影响手机上流行的游戏模式与PC和主机的不同,因此不能简单的将游戏引擎移植到手机上,而是需要根据手机与平板的特性重新设计。
目前手机游戏市场正处于上升期,手机游戏引擎市场也方兴未艾:
一方面,趁着新市场的机会期,类似cocos2d-x、Unity3D等引擎站稳脚跟;
另一方面,传统游戏引擎对手机和平板愈加重视,虚幻引擎已移植到iOS、Android平台,预计更多的顶级引擎会移植到移动平台上来;
最后,拥有WebGL技术的HTML5也显示出了游戏应用的潜力,浏览器厂商动作频频,Opera发布Sphinx引擎,Firefox移植虚幻引擎,UC欲发布X-Canvas引擎,HTML5引擎中间件的大战即将来临。
那么,现在主流的手机游戏引擎都有哪些呢?下面为读者一一介绍:
2D引擎
cocos2D-x
cocos2D-x是全球知名的开源跨平台手机游戏引擎,易学易用,目前已经支持iOS、Android、Windows8、Mac OSX、Linux、BlackBerry、Windows Phone等平台。它由只支持iOS平台的cocos2D演化而来,x即意味着跨平台,而它现在已经推出了HTML5版本,显示了这个引擎强大的生命力和扩展能力。目前在iOS和Android平台上有许多知名游戏都使用此引擎开发,而且其项目创世人王哲是中国人,因此对中文的支持非常好,且有开发者社区cocoachina,目前此引擎属于触控科技名下。官网、 cocos2D-x游戏开发入门专题
Corona SDK
著名跨平台游戏开发工具,支持iOS,Android,据说有150000开发者使用这个工具。官网、详细介绍、开发入门专题
Construct 2
原本是开发Windows的游戏引擎,但现在无需编程知识就可以利用一个基于事件的界面,开发iOS、Android及Facebook游戏,有70多种可视化游戏效果供你选择。更值得一提的是,它还是个很不错的HTML5游戏引擎。官网
木瓜游戏引擎
2D游戏引擎,帮助轻松开发移动社交游戏,支持iOS及Android。另外还提供游戏内购买系统,帮助你实现游戏的货币化。由木瓜移动开发和提供。官网、中文版
WiEngine
由微云科技开发的一款2D移动游戏引擎,目前已支持2D图像渲染、粒子系统、碰撞检测系统、脚本引擎、动画特效、光影特效、人工智能以及场景管理等超过十大类的特性和特效, 支持Android(2.0+), iOS(3.2+), Mac OS X(10.6+)等平。官网
Cyclone 2D
Cylone2D是一套手机游戏设计和制作的综合。整体包括两大部分,即引擎和设计工具集。Cyclone2D(简称C2D)引擎目前已经在多个平台应用,如Android、IOS、Windows、J2me等,制作的游戏产品可以运行在手机或者电视机终端,因此可以用来制作跨平台的手机游戏。它由国人制作,引擎免费但设计工具收费。官网
3D引擎
Unity3D
在国内的移动3D引擎领域,Unity3D是当之无愧的王者,有很多3D游戏均是由它开发而成,社区和教程资源也很丰富。支持iOS与Android。官网
Unreal Development Kit
即大名鼎鼎的虚幻引擎,是目前世界最知名的授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。支持iOS及Android。虚幻3引擎的免费版本,不包含源代码,但包含了开发基于虚幻3引擎独立游戏的所有工具。2013年初爆出虚幻引擎东家Epic Games被腾讯收购,UDK在国内未来的表现令人期待。官网
ShiVa 3D
号称最具跨平台意义的移动游戏引擎,是一个3D游戏引擎及开发工具包,支持iOS,Android,WP及黑莓。国内有专门的书作介绍。官网
Marmalade
采用C/C++开发跨平台的原生游戏及App,能适配到桌面端及移动端,支持iOS、Android及黑莓,可循环利用代码,兼容PhoneGap API。官网、详细介绍
HTML5引擎
Sphinx
浏览器厂商Opera在MWC2013上发布的HTML5加速引擎,基于python开发。官网
X-Canvas
X-Canvas是一款跨平台的HTML5游戏引擎,提供手机游戏开发的完整。包含了加速引擎,游戏框架,物理引擎。由UC浏览器开发,将在2013年中发布。官网
主流手机游戏引擎介绍
2013-4-19 11:04| 发布者: chino| 查看: 1497| 评论: 61|原作者: 宋志辉
摘要: 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始 ...
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。这里有更详细的游戏引擎原理。
手机游戏引擎则是在手机和平板上运行的游戏的引擎,智能手机和平板的触摸+传感器的操作方式与传统游戏相比有很大的不同,而操作方式直接影响手机上流行的游戏模式与PC和主机的不同,因此不能简单的将游戏引擎移植到手机上,而是需要根据手机与平板的特性重新设计。
目前手机游戏市场正处于上升期,手机游戏引擎市场也方兴未艾:
一方面,趁着新市场的机会期,类似cocos2d-x、Unity3D等引擎站稳脚跟;
另一方面,传统游戏引擎对手机和平板愈加重视,虚幻引擎已移植到iOS、Android平台,预计更多的顶级引擎会移植到移动平台上来;
最后,拥有WebGL技术的HTML5也显示出了游戏应用的潜力,浏览器厂商动作频频,Opera发布Sphinx引擎,Firefox移植虚幻引擎,UC欲发布X-Canvas引擎,HTML5引擎中间件的大战即将来临。
那么,现在主流的手机游戏引擎都有哪些呢?下面为读者一一介绍:
2D引擎
cocos2D-x
cocos2D-x是全球知名的开源跨平台手机游戏引擎,易学易用,目前已经支持iOS、Android、Windows8、Mac OSX、Linux、BlackBerry、Windows Phone等平台。它由只支持iOS平台的cocos2D演化而来,x即意味着跨平台,而它现在已经推出了HTML5版本,显示了这个引擎强大的生命力和扩展能力。目前在iOS和Android平台上有许多知名游戏都使用此引擎开发,而且其项目创世人王哲是中国人,因此对中文的支持非常好,且有开发者社区cocoachina,目前此引擎属于触控科技名下。官网、 cocos2D-x游戏开发入门专题
Corona SDK
著名跨平台游戏开发工具,支持iOS,Android,据说有150000开发者使用这个工具。官网、详细介绍、开发入门专题
Construct 2
原本是开发Windows的游戏引擎,但现在无需编程知识就可以利用一个基于事件的界面,开发iOS、Android及Facebook游戏,有70多种可视化游戏效果供你选择。更值得一提的是,它还是个很不错的HTML5游戏引擎。官网
木瓜游戏引擎
2D游戏引擎,帮助轻松开发移动社交游戏,支持iOS及Android。另外还提供游戏内购买系统,帮助你实现游戏的货币化。由木瓜移动开发和提供。官网、中文版
WiEngine
由微云科技开发的一款2D移动游戏引擎,目前已支持2D图像渲染、粒子系统、碰撞检测系统、脚本引擎、动画特效、光影特效、人工智能以及场景管理等超过十大类的特性和特效, 支持Android(2.0+), iOS(3.2+), Mac OS X(10.6+)等平。官网
Cyclone 2D
Cylone2D是一套手机游戏设计和制作的综合。整体包括两大部分,即引擎和设计工具集。Cyclone2D(简称C2D)引擎目前已经在多个平台应用,如Android、IOS、Windows、J2me等,制作的游戏产品可以运行在手机或者电视机终端,因此可以用来制作跨平台的手机游戏。它由国人制作,引擎免费但设计工具收费。官网
3D引擎
Unity3D
在国内的移动3D引擎领域,Unity3D是当之无愧的王者,有很多3D游戏均是由它开发而成,社区和教程资源也很丰富。支持iOS与Android。官网
Unreal Development Kit
即大名鼎鼎的虚幻引擎,是目前世界最知名的授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。支持iOS及Android。虚幻3引擎的免费版本,不包含源代码,但包含了开发基于虚幻3引擎独立游戏的所有工具。2013年初爆出虚幻引擎东家Epic Games被腾讯收购,UDK在国内未来的表现令人期待。官网
ShiVa 3D
号称最具跨平台意义的移动游戏引擎,是一个3D游戏引擎及开发工具包,支持iOS,Android,WP及黑莓。国内有专门的书作介绍。官网
Marmalade
采用C/C++开发跨平台的原生游戏及App,能适配到桌面端及移动端,支持iOS、Android及黑莓,可循环利用代码,兼容PhoneGap API。官网、详细介绍
HTML5引擎
Sphinx
浏览器厂商Opera在MWC2013上发布的HTML5加速引擎,基于python开发。官网
X-Canvas
X-Canvas是一款跨平台的HTML5游戏引擎,提供手机游戏开发的完整。包含了加速引擎,游戏框架,物理引擎。由UC浏览器开发,将在2013年中发布。官网
最新技术文章: