当前位置:  编程技术>移动开发
本页文章导读:
    ▪unity 固定摄像机        unity 固定摄影机 #pragma strict @script AddComponentMenu("Level4/Cameras/FixedCamera") /////////////////////////////////////////////////////////// //固定角度摄影机,主体 //思路:用变量offsetPos存放,摄影机与target的位置关系.........
    ▪ unity追踪摄影机        unity跟踪摄影机 @script AddComponentMenu("Level4/Cameras/FollowCamera") //////////////////////////////////// //跟随 摄影机 //////////////////////////////////// /**摄影机的目标*/ var target:Transform; /** 与目标位置的偏移向.........
    ▪ ftp资料的上传与下载       ftp文件的上传与下载 http://www.cnblogs.com/chen1987lei/archive/2010/11/03/1867668.html 上面是一个我觉得写得很好的文章 ......

[1]unity 固定摄像机
    来源: 互联网  发布时间: 2014-02-18
unity 固定摄影机
#pragma strict
@script AddComponentMenu("Level4/Cameras/FixedCamera")
///////////////////////////////////////////////////////////
//固定角度摄影机,主体
//思路:用变量offsetPos存放,摄影机与target的位置关系,
//修改offsetPos可以对摄影机的位置实现不同的控制.
///////////////////////////////////////////////////////////
/**摄影机的目标*/
var target:Transform;
/**与目标位置的偏移向量*/
var offsetPos:Vector3 = Vector3(0,4,-4);
/**跟随target的速度*/
var followSpeed:float = 0.2;

function Update(){
	if(target){
		UpdatePosition();
	}
}
function Start(){
	SetupCamera();
}
/**
设定 摄影机的旋转量.
*/
function SetupCamera(){
	transform.rotation = Quaternion.LookRotation(-offsetPos);
}
//更新 摄影机的坐标.
private function UpdatePosition(){
	var targetPos:Vector3 = target.position + offsetPos;
	transform.position = Vector3.Lerp(transform.position,targetPos,followSpeed);
}



#pragma strict
@script AddComponentMenu("Level4/Cameras/FixedCameraMouseMove")
@script RequireComponent(FixedCamera);
//////////////////////////////////////////////////////
///固定角度摄影机,鼠标控制
//////////////////////////////////////////////////////
private var target:Transform;
private var fixedCamera:FixedCamera;

private var totalOffset:Vector3 = Vector3.zero;

/**移动的速度*/
var moveSpeed:float = 0.2;
/**xz平面,左下角坐标*/
var minPos:Vector3 = Vector3(-3,0,-6);
/**xz平面,右上角坐标*/
var maxPos:Vector3 = Vector3(3,0,1);

function Start(){
	fixedCamera = GetComponent(FixedCamera);
	target = fixedCamera.target;
}

function Update(){
	MouseMoveCamera();
}

/**
	通过鼠标移动视野.
	h,x方向.
	v,z方向.
*/
private function MouseMoveCamera(){
	var h:float = Input.GetAxis("Mouse X");
	var v:float = Input.GetAxis("Mouse Y");
	 
	var dir:Vector3 = Vector3(h,0,v);
		dir *= moveSpeed;
	var offsetPos:Vector3 = fixedCamera.offsetPos + dir;
	
	//-----------------------------------限制.
	offsetPos.x = Mathf.Clamp(offsetPos.x , minPos.x , maxPos.x);
	offsetPos.z = Mathf.Clamp(offsetPos.z , minPos.z , maxPos.z);
	fixedCamera.offsetPos = offsetPos;
}



#pragma strict
@script RequireComponent(FixedCamera)

//////////////////////////////////////////////////////
///固定角度摄影机.滚轮缩放
//////////////////////////////////////////////////////
private var fixedCamera:FixedCamera;
/**滚轮响应速度*/
var viewSpeed:float = 2;
/**yz平面,前下角坐标*/
var minPos:Vector3 = Vector3(0,4,-8);
/**yz平面,后上角坐标*/
var maxPos:Vector3 = Vector3(0,8,-4);

function Start(){
	fixedCamera = GetComponent(FixedCamera);
}

function Update () {
	UpdateView();
}

//更新视野.通过更新摄影机坐标来实现.
private function UpdateView(){
	var val:float = Input.GetAxis("Mouse ScrollWheel");
	if(val != 0){
		val *= viewSpeed;
		
		var yPos:float = -val;
		var zPos:float = val;
		var offsetPos:Vector3 = fixedCamera.offsetPos;
			offsetPos += Vector3(0,yPos,zPos);
			offsetPos.y = Mathf.Clamp(offsetPos.y , minPos.y , maxPos.y);
			offsetPos.z = Mathf.Clamp(offsetPos.z , minPos.z , maxPos.z);
		fixedCamera.offsetPos = offsetPos;
	}
}


    
[2] unity追踪摄影机
    来源: 互联网  发布时间: 2014-02-18
unity跟踪摄影机
@script AddComponentMenu("Level4/Cameras/FollowCamera")
////////////////////////////////////
//跟随 摄影机
////////////////////////////////////

/**摄影机的目标*/
var target:Transform;

/**
	与目标位置的偏移向量
	y: 影响摄影机的视角.
	z: 影响摄影机与跟随目标的距离
*/
var offsetPos:Vector3 = Vector3(0,2,-4);
/**跟随target的速度*/
var followSpeed:float = 0.1;

function Update(){
	UpdateCamera();
}
/**
	更新摄影机
*/
function UpdateCamera(){
	transform.rotation = target.rotation;
	transform.Translate(offsetPos * followSpeed);
	//线性移动过去
	transform.position = Vector3.Lerp(transform.position,target.position,followSpeed);
	//直接到位
	// transform.position = target.position; 
	transform.rotation *= Quaternion.LookRotation(-offsetPos);
}


@script RequireComponent(FollowedCamera)
//////////////////////////////////////////////////////
///跟随摄影机,滚轮缩放功能
//////////////////////////////////////////////////////

/**摄影机最小偏移位置*/
var minPos:Vector3 = Vector3(0,1,-8);
/**摄影机最大偏移位置*/
var maxPos:Vector3 = Vector3(0,8,-4);
/**滚轮响应速度*/
var scrollWheelSpeed:float = 2;
/**视野 调节速度*/
var viewSpeed:float = 0.7;
//跟随摄影机的实例.
private var followedCamera:FollowedCamera;

function Awake(){
	followedCamera = GetComponent(FollowedCamera);
}

function Update () {
	UpdateView();
}

//更新视野.通过更新摄影机坐标来实现.
private function UpdateView(){
	var val:float = Input.GetAxis("Mouse ScrollWheel");
	if(val != 0){
		val *= scrollWheelSpeed;
		var yPos:float = val;
		var zPos:float = -val;
		var offsetPos:Vector3 = followedCamera.offsetPos;
		
			offsetPos += Vector3(0,yPos,zPos);
			offsetPos.y = Mathf.Clamp(offsetPos.y,minPos.y,maxPos.y);
			offsetPos.z = Mathf.Clamp(offsetPos.z,minPos.z,maxPos.z);
		
		//folloedCamera.offsetPos = offsetPos;
		followedCamera.offsetPos = Vector3.Lerp(followedCamera.offsetPos,offsetPos,viewSpeed);
	}
}


    
[3] ftp资料的上传与下载
    来源: 互联网  发布时间: 2014-02-18
ftp文件的上传与下载

http://www.cnblogs.com/chen1987lei/archive/2010/11/03/1867668.html

上面是一个我觉得写得很好的文章


    
最新技术文章:
▪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实现弹出键盘的方法
mysql iis7站长之家
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


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

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

浙ICP备11055608号-3