【转载】iPhone开发论坛madhome--水平感应:flash CS5开发iPhone应用
2010-03-30 11:19
435 查看
本文转载自iPhone开发论坛madhome
在iPhone应用中,又很多游戏是使用水平感应(重力感应)来控制的,比较有意思的如Doodle
Jump,Space Ball等,还有些赛车游戏直接把iPhone模拟成方向盘,转动你的iPhone来控制方向。
这些在Flash cs5中都可以轻松实现。
AS新增加类包 flash.sensors.Accelerometer 加速度传感器
Property:
isSupported : Boolean -静态变量,返回机器是否支持加速度感应
Methods:
Accelerometer() -创建加速度感应器
setRequestedUpdateInterval(interval:Number):void - 设置判断加速度的更新时间间隔
Events:
update -加速度更新事件
update发生后返回的3个参数
accelerationX-x轴的加速度
accelerationY-Y轴的加速度
accelerationZ-Z轴的加速度(负数表示iPhone为正面朝上,正数则是反面朝上)
实力下载:加速度 :原文件: Accelerometer.zip (52 K) 下载次数:0 ipa: Accelerometer.ipa.part1.rar (1424 K) 下载次数:0 Accelerometer.ipa.part2.rar (1424 K) 下载次数:0 Accelerometer.ipa.part3.rar (423 K) 下载次数:0
实例源代码
[pre]/* @author jimmy
* www.jimmy.sh
*/
import flash.display.Sprite;
import flash.events.AccelerometerEvent;
import flash.events.Event;
import flash.sensors.Accelerometer;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
//3个方向的加速度
var accX:Number=0;
var accY:Number=0;
var accZ:Number=0;
//更新加速度
function update(e:AccelerometerEvent):void {
accX=e.accelerationX;
accY=e.accelerationY;
accZ=e.accelerationZ;
}
//更新现实
function Show(event:Event):void {
var ballX:Number=ball.x+accX*50;
var ballY:Number=ball.y-accY*50;
var dx:Number=ballX-160;
var dy:Number=ballY-240;
var jd:Number=Math.atan2(dy,dx);
var d:Number=Math.sqrt(dx*dx+dy*dy);
if (d<=120) {
ball.x=ballX;
ball.y=ballY;
} else {
d=120;
ball.x=Math.cos(jd)*120+160;
ball.y=Math.sin(jd)*120+240;
}
//设定球的大小
ball.width=ball.height=d/120*30+10;
//更新文字
textX.text="accelerationX: "+(Math.round(accX*10000)/10000).toString();
textY.text="accelerationY: "+(Math.round(accY*10000)/10000).toString();
textZ.text="accelerationZ: "+(Math.round(accZ*10000)/10000).toString();
//画线,画圈
graphics.clear();
graphics.lineStyle(1,0xFFFFFF);
graphics.moveTo(160,240);
graphics.lineTo(ball.x,ball.y);
graphics.drawCircle(160,240,d);
}
//新建一个加速感应器
var acc:Accelerometer=new Accelerometer();
//添加侦听
acc.addEventListener(AccelerometerEvent.UPDATE,update);
this.addEventListener(Event.ENTER_FRAME,Show);[/pre]
附件下载地址:iPhone开发论坛madhome
在iPhone应用中,又很多游戏是使用水平感应(重力感应)来控制的,比较有意思的如Doodle
Jump,Space Ball等,还有些赛车游戏直接把iPhone模拟成方向盘,转动你的iPhone来控制方向。
这些在Flash cs5中都可以轻松实现。
AS新增加类包 flash.sensors.Accelerometer 加速度传感器
Property:
isSupported : Boolean -静态变量,返回机器是否支持加速度感应
Methods:
Accelerometer() -创建加速度感应器
setRequestedUpdateInterval(interval:Number):void - 设置判断加速度的更新时间间隔
Events:
update -加速度更新事件
update发生后返回的3个参数
accelerationX-x轴的加速度
accelerationY-Y轴的加速度
accelerationZ-Z轴的加速度(负数表示iPhone为正面朝上,正数则是反面朝上)
实力下载:加速度 :原文件: Accelerometer.zip (52 K) 下载次数:0 ipa: Accelerometer.ipa.part1.rar (1424 K) 下载次数:0 Accelerometer.ipa.part2.rar (1424 K) 下载次数:0 Accelerometer.ipa.part3.rar (423 K) 下载次数:0
实例源代码
[pre]/* @author jimmy
* www.jimmy.sh
*/
import flash.display.Sprite;
import flash.events.AccelerometerEvent;
import flash.events.Event;
import flash.sensors.Accelerometer;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
//3个方向的加速度
var accX:Number=0;
var accY:Number=0;
var accZ:Number=0;
//更新加速度
function update(e:AccelerometerEvent):void {
accX=e.accelerationX;
accY=e.accelerationY;
accZ=e.accelerationZ;
}
//更新现实
function Show(event:Event):void {
var ballX:Number=ball.x+accX*50;
var ballY:Number=ball.y-accY*50;
var dx:Number=ballX-160;
var dy:Number=ballY-240;
var jd:Number=Math.atan2(dy,dx);
var d:Number=Math.sqrt(dx*dx+dy*dy);
if (d<=120) {
ball.x=ballX;
ball.y=ballY;
} else {
d=120;
ball.x=Math.cos(jd)*120+160;
ball.y=Math.sin(jd)*120+240;
}
//设定球的大小
ball.width=ball.height=d/120*30+10;
//更新文字
textX.text="accelerationX: "+(Math.round(accX*10000)/10000).toString();
textY.text="accelerationY: "+(Math.round(accY*10000)/10000).toString();
textZ.text="accelerationZ: "+(Math.round(accZ*10000)/10000).toString();
//画线,画圈
graphics.clear();
graphics.lineStyle(1,0xFFFFFF);
graphics.moveTo(160,240);
graphics.lineTo(ball.x,ball.y);
graphics.drawCircle(160,240,d);
}
//新建一个加速感应器
var acc:Accelerometer=new Accelerometer();
//添加侦听
acc.addEventListener(AccelerometerEvent.UPDATE,update);
this.addEventListener(Event.ENTER_FRAME,Show);[/pre]
附件下载地址:iPhone开发论坛madhome
相关文章推荐
- 【转载】iPhone开发论坛madhome--水平感应:flash CS5开发iPhone应用
- 【转载】iPhone开发论坛madhome--如何创建一个iPhone参数文件
- 【转载】iPhone开发论坛madhome-- NSRange及NSString
- 【转载】iPhone开发论坛madhome--shake摇动侦测
- 【转载】iphone开发论坛madhome--给iphone的键盘加上UITextField
- 【转载】iPhone手机开发者论坛madhome---在Android 游戏中添加震动效果
- 【转载】iPhone手机开发者论坛madhome--如何创建一个iPhone参数文件
- 【转载】iPhone手机开发者论坛madhome--NSRange及NSString对象
- 【转载】Android开发论坛madhome--G1手机上程序的安装及卸载
- 转载iPhone应用开发之一:窗口,视图,视图控制器和UIKit基础
- 转载iphone 应用开发之二:UITextView控件的详细讲解
- 转载iphone 应用开发之二:UITextView控件的详细讲解
- 转载【iphone应用开发】iphone应用开发之六:UITableView的详细讲解(一)
- IPHONE应用开发 - xcode4.2 添加“标签栏”
- iPhone/iPad高级应用与手游开发学习笔记:AVAudioPlayer学习(音频播放demo)
- 几个iPhone开发网站、论坛、博客
- iPhone与iPad开发实战——iOS 经典应用剖析视频--观看地址
- 搭建WAP应用开发环境 (转载)
- 招聘苹果iPhone/iPad应用开发工程师
- 使用CodeIgniter框架快速开发PHP应用(一)(转载请保留出处)