当前位置:  编程技术>移动开发
本页文章导读:
    ▪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,没有需要加上
<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);

    
[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年中发布。官网

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3