摄像机跟随主角移动

  1. void MPlayer::setMapPointByMplayer()
  2. {
  3. Size visableSize = Director::getInstance()->getVisibleSize();
  4. Size mapTileNum = getGameMap()->getMapSize();
  5. Size tiledSize = getGameMap()->getTileSize();
  6. //世界大小 2.x CCSizeMake
  7. Size mapSize = Size(mapTileNum.width * tiledSize.width, mapTileNum.height * tiledSize.height);
  8. Point mplayerPoint = mSprite->getPosition();
  9. float x = mplayerPoint.x > visableSize.width / 4 ? mplayerPoint.x : visableSize.width / 4;
  10. x = x < mapSize.width - visableSize.width*.8 ? x : mapSize.width - visableSize.width*.8;
  11. float j = mapSize.width - visableSize.width*0.8;
  12. float y = mplayerPoint.y > visableSize.height / 4 ? mplayerPoint.y : visableSize.height / 4;
  13. y = y < mapSize.height / 2 ? y : mapSize.height / 2;
  14. Point desPoint = ccp(x, y);//目标点
  15. Point centerPoint = ccp(visableSize.width / 5, visableSize.height / 4);
  16. Point ritPoint = ccpSub(centerPoint, desPoint);
  17. getGameMap()->setPosition(ritPoint);
  18. }

来自为知笔记(Wiz)

时间: 2024-10-18 03:07:20

摄像机跟随主角移动的相关文章

Unity3D 相机跟随主角移动

这里给主相机绑定一个脚本. 脚本写为: using UnityEngine; using System.Collections; public class camerafollow : MonoBehaviour { //主摄像机跟随主角一起移动 public float xMargin = 1f; public float yMargin = 1f; public float xSmooth = 8f; public float ySmooth = 8f; public Vector2 max

Unity移动开发(1):2d摄像机跟随

Unity从4.3开始,unity3d开始叫unity了,去掉后缀,因为4.3版本以后加入了强大的原生2d开发环境.对于原来熟悉3d开发的unity工程师而言,不需要太多时间去适应就能很好的过度到2d的开发中去.今天说下2d的摄像机跟随.因为是2d环境,所以我们考虑的轴向就少了一个z轴,我们只需要考虑x和y轴.因为是横版的,所以我们就锁定摄像机的x轴,这样就不会让相机跟着主角上串下跳导致相机的晃动(这样的效果就跟相机设置为自物体一样样了,体验不太好.)代码如下: 1.定义一个公有的transfo

Unity游戏开发第三人称摄像机跟随

在第三人称游戏开发中,因为我们的人物是会不断移动的,所以我们的相机需要保持合适的角度跟随我们的人物进行移动,最简单的一种实现方法是先在unity场景中将摄像机调整到合适的位置,然后将它放到我们的人物下面,让他成为人物的子物体,这样做也可以达到摄像机跟随的目的.如果对摄像机跟随的要求不高的话可以临时采用这种方法 为了实现第三人称摄像机跟随的功能,大部分情况先我们都是采用编写代码的方法来实现的.下面是本人实现的一种摄像机跟随的方法,仅供参考,实现的功能是按住键盘AD键可以让摄像机视野围绕人物左右移动

Unity 中简单的第三人称摄像机跟随

先说较为简单的一种: 一.将摄像机作为人物角色的子对象,设置好相对距离和偏移量即可,但这种方法弊端较多,一般不采用. 二. 设置好摄像机跟物体的相对距离,之后利用插值让摄像机平滑跟随. 原理:摄像机与player以向量(有大小,有方向)相连,这样就可以确定摄像机与player的相对距离了,这样人物走动,摄像机也会跟随移动. 将下列代码与camera绑定就可以实现第三人称摄像机跟随.代码: public class CameraFollow : MonoBehaviour { // 摄像机跟随的对

Unity3d中第三人称摄像机跟随的实现

最简单的一种就是先设置好摄像机跟物体的相对距离, 在脚本里就可以由物体的位置,跟相对距离,就可以求出摄像机的位置, 用插值的方法可以让摄像机平滑跟随. 1 public class CamFollow1 : MonoBehaviour 2 { 3 4 private Vector3 offset; 5 public Transform player; 6 7 void Start() 8 { 9 offset = player.position - transform.position; 10

unity3d 摄像机跟随角色时被物体遮挡解决方案

参考文章:http://www.xuanyusong.com/archives/1991 在看此文章时请先看上面的参考文章 看完以上文章后,你也许会想人家都已经给出所有代码了,你还写个毛啊 别急,现在进入主题 在我的项目中,我采用的是物体遮挡作半透明处理,如果按照上述文章中的思路来写代码的话,那么结果就是当多个物体遮挡角色时,只有第一个物体会半透明,如图: 角色被墙和屋顶遮挡住了,但是可以清楚的看见左下角的墙呈半透明状态,而屋顶依旧不透明 为了解决这个问题,我们不采用上述文章中的 physics

2D游戏摄像机跟随不出界

做2D游戏的时候碰上摄像机要跟随人物时要防止摄像机看到界面外的黑幕,直接上代码. using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 控制在老师身上摄像机的位置,防止看到场景外的黑幕 /// </summary> public class objectCameraLimit : MonoBehaviour { public float[] c

Unity3D摄像机跟随人物

这里的镜头主要是从人物的背后跟随的. 首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存: using UnityEngine; using System.Collections; public class MyFollow : MonoBehaviour { public float distanceAway = 5; // distance from the back of the craft public float distanceUp = 2; // dista

自学Unity3D 之 贪吃蛇 添加摄像机跟随

在Unity的世界中, 物体的位置都是由向量构成的. 今天所需要做的就是让摄像机保持跟蛇头的相对距离. 首先  设蛇头的位置在A 点  , 摄像机的位置在B 点 则  我们可以知道  他们的offset = B - A; 所以  新的摄像机位置应该为 B =  A + offset: 令 :  摄像机的移动是根据帧走的  所以是抖动的 , 我们应该做一个平滑处理 恰好Vector 给我们提供了一个方法 利用插值做到平滑移动 Vector3.lerp(B,A + offset,0.1f)  也就是