制作滚动的方块 【插件】

最近有网友反映,要提供些”一些高级优化技术分享“。您可以根据侧重点反馈您的需求。

发送邮件 unity3d168@yeah.net

代码部分

var cubeSize: float = 1;  

  var cubeSpeed: float = 500;  

  var UpFace: Transform;  

  private  

  var totalRotation: float = 0; // determines if we're past the 90 degrees  

  private  

  var beRolling: boolean = false;  

  private  

  var RotateDir: int;  

  private  

  var startRotate: boolean = false;  

  private  

  var RotatePivot: Vector3;  

  private  

  var NextRot: Vector3;  

  private  

  var NextPosi: Vector3;  

  // Use this for initialization  

  function Start() {  

  NextRot = transform.rotation.eulerAngles;  

  NextPosi = transform.position;  

  }  

  // Update is called once per frame  

  function Update() {  

  if (beRolling == false) {  

  if (Input.GetKey(“left”)) {  

  if (NextPosi.x > -4) {  

  //print(“rolling”);  

  beRolling = true;  

  startRotate = true;  

  RotateDir = 0;  

  NextPosi.x--;  

  }  

  } else if (Input.GetKey(“up”)) {  

  if (NextPosi.z < 4) {  

  //print(“rolling”);  

  beRolling = true;  

  startRotate = true;  

  RotateDir = 1;  

  NextPosi.z++;  

  }  

  } else if (Input.GetKey(“right”)) {  

  if (NextPosi.x < 4) {  

  //print(“rolling”);  

  beRolling = true;  

  startRotate = true;  

  RotateDir = 2;  

  NextPosi.x++;  

  }  

  } else if (Input.GetKey(“down”)) {  

  if (NextPosi.z > -4) {  

  //print(“rolling”);  

  beRolling = true;  

  startRotate = true;  

  RotateDir = 3;  

  NextPosi.z--;  

  }  

  }  

  } else {  

  DoRoll(RotateDir);  

  }  

  }  

  function DoRoll(Direct: int) {  

  var spinAmount: float = Time.deltaTime * cubeSpeed;  

  var t: float;  

  var pos: Vector3;  

  if (startRotate) {  

  if (Direct == 0) {  

  NextRot.z += 90;  

  RotatePivot = transform.position + new Vector3(-0.5, -0.5, 0);  

  } else if (Direct == 1) {  

  NextRot.x += 90;  

  RotatePivot = transform.position + new Vector3(0, -0.5, 0.5);  

  } else if (Direct == 2) {  

  NextRot.z -= 90;  

  RotatePivot = transform.position + new Vector3(0.5, -0.5, 0);  

  } else {  

  NextRot.x -= 90;  

  RotatePivot = transform.position + new Vector3(0, -0.5, -0.5);  

  }  

  NextRot.z = NextRot.z % 360;  

  NextRot.x = NextRot.x % 360;  

  totalRotation = 0;  

  startRotate = false;  

  }  

  if (beRolling) {  

  if (Direct == 0) {  

  transform.RotateAround(RotatePivot, Vector3.forward, spinAmount);  

  } else if (Direct == 1) {  

  transform.RotateAround(RotatePivot, Vector3.right, spinAmount);  

  } else if (Direct == 2) {  

  transform.RotateAround(RotatePivot, Vector3.forward * -1, spinAmount);  

  } else {  

  transform.RotateAround(RotatePivot, Vector3.right * -1, spinAmount);  

  }  

  // add to amount of spin in this update the total rotation  

  totalRotation += spinAmount;  

  // check if we have to move to the next edge  

  if (totalRotation >= 90) {  

  // we move to next corner as pivot point  

  totalRotation = 0;  

  beRolling = false;  

  var ri: int = 0;  

  var rf: float = transform.eulerAngles.x;  

  if (rf < 0) rf = 360 + rf;  

  ri = rf / 90.0;  

  if ((rf % 90.0) > 45) {  

  ri += 1;  

  }  

  ri = ri * 90;  

  transform.eulerAngles.x = ri;  

  rf = transform.eulerAngles.y;  

  if (rf < 0) rf = 360 + rf;  

  ri = rf / 90.0;  

  if ((rf % 90.0) > 45) {  

  ri += 1;  

  }  

  ri = ri * 90;  

  transform.eulerAngles.y = ri;  

  rf = transform.eulerAngles.z;  

  if (rf < 0) rf = 360 + rf;  

  ri = rf / 90.0;  

  if ((rf % 90.0) > 45) {  

  ri += 1;  

  }  

  ri = ri * 90;  

  transform.eulerAngles.z = ri;  

  transform.position = NextPosi;  

  print(“rolling OK rotation :” + transform.eulerAngles);  

  }  

  }  

  }

作者:csdn博客 unity3d学习者

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索rf
, vector
, transform
, var
, else
Rolling
ae制作时间滚动的插件、滚动方块、滚动的方块、方块 塔 滚动、我的世界脚本方块插件,以便于您获取更多的相关知识。

时间: 2025-01-31 01:26:31

制作滚动的方块 【插件】的相关文章

使用Dreamweaver插件制作滚动文字效果

插件名称:Marquee功能:制作滚动文字.大家一定对Frontpage中的大屏幕文字记忆犹新吧,嘿嘿有了这个插件Dreamweavr也-- 操作范例:1.在对象面板中选择 按钮.2.系统弹出对话框.选择相应的参数即可. Text:滚动效果的文字. Font:文字的效果Size:字体大小 Font Color 文字颜色 BG Color背景颜色. Direction 运动方向 Left朝左 Right朝右 Speed 运动速度.Delay 延迟 Amount移动速度 Behavior运动方式 S

AngularJS 中使用Swiper制作滚动图不能滑动的解决方法_AngularJS

Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,受到很多前端开发者的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类,在swiper-wrapper里生成6个以上的滑动页,可是就是划不到第二页,尝试将longSwipesRatio的值修改到最小,仍然不起作用. <div class="swiper-wrapper" > <!-- =======循环部分======= --> &

Photoshop快速制作可爱的方块拼贴图

快速制作可爱的方块拼贴图 教程介绍简单拼贴图的制作方法.大致过程:处理之前需要用网格及辅助线把素材均分成一些小方块,然后分别用选区把这些小方块复制到新的图层,适当给小方块描边并添加投影.最后把小方法变形处理,再改变背景颜色即可. 原图 最终效果  1.打开原图素材,调出网格,按Ctrl + R 调出标尺,用辅助线把画面平分成若干个小方块,如下图. 2.选择矩形选框工具,款选出一个小方块的选区,按Ctrl + J 复制到新的图层,得到图层1. 3.重复以上步骤,将其他区块分别复制,得到更多图层. 

PPT教你制作滚动文本

  在powerpoint中有时因显示文本内容较多就要制作滚动文本. 具体制作方法如下: 1.视图-工具栏-控件箱,打开控件工具箱,点击"文字框"选项,插入 "文字框"控件; 2.然后在幻灯片编辑区按住鼠标左键拖拉出一个文本框,并根据版面来调整它的位置和大小; 3.接着在"文字框"上右击鼠标,选择快捷菜单中的"属性"命令,弹出"文字框"属性窗口,在属性窗口中对文字框的一些属性进行相关的设置; 4.设置好后右

PPT制作滚动文本

在制作ppt中有时我们显示文本内容较多而一页无法显示,有没有办法解决呢,我们完全可以利用滚动文本,那么如何来PPT制作滚动文本呢,具体制作方法如下: 1.单击"视图"菜单下"工具栏"中的"控件工具箱"; 2.点击"文本框"选项,插入 "文本框"控件,然后在幻灯片编辑区按住鼠标左键拖拉出一个文本框,并根据版面来调整它的位置和大小; 3.接着在"文字框"上右击鼠标,选择快捷菜单中的"

PhotoShop制作滚动图片GIF动画效果图文教程

教程利用PhotoShop制作滚动图片GIF动画效果,考虑制作滚动图像多样性效果,我分别介绍三种不同的方法来制作有差异的动画效果,分别是:平行单向滚动动态效果,往复式滚动动画效果和开关门式滚动动画. 大家可以根据自已已经掌握的动画制作知识进行选择性练习,同时,根据教程思路创作出另一种不同风格的动画效果. 先上几个效果: 分类: PS入门教程

PPT如何制作滚动文本

  在Powerpoint中有时因显示文本内容较多就要制作滚动文本.具体制作方法如下:视图-工具栏-控件箱,打开控件工具箱,点击"文字框"选项,插入 "文字框"控件,然后在幻灯片编辑区按住鼠标左键拖拉出一个文本框,并根据版面来调整它的位置和大小.接着在"文字框"上右击鼠标,选择快捷菜单中的"属性"命令,弹出"文字框"属性窗口,在属性窗口中对文字框的一些属性进行相关的设置. 设置好后右击"文字框&q

PhotoShop制作滚动渐隐文字GIF动画教程

本次PS动画教程教大家用PhotoShop制作滚动渐隐文字效果,主要利用蒙版来制作,属于初级的动画效果,喜欢并想学GIF动画的 同学可以学习一下! 效果图: 1.打开素材. 2.打上自己喜欢的字..我这里使用的是文鼎霹雳体.白色的字哦..我这里为了方便调整我打了两节字,打完了为了方便调整就合层. 3.把背景层解锁,然后把背景层向上挪一层.然后右键有个创建剪贴蒙版.如图. 分类: PS入门教程

excel表格如何输入制作打钩方块

  很多朋友会问excel在方框里面怎么打钩,其实很简单,是没有找对地方,在excel符号里就有,插入打钩符号即可,下面跟着我一步步操作肯定可以找到. 1.首先,我们需要在电脑上打开一个空白的excel文档,如图所示. 2.在这个空白的excel文档中,选择一个单元格,输入字母"R",如图所示. 3.输入字母"R"以后,我们需要选择改变这个字的字体,点击字体位置,如图所示. 4.点击字体旁边的倒三角图标,显示出了字体的菜单,向下滑动混动条,如图所示. 5.在最后面的