MoveTo 和 MoveBy 两个方法有什么区别???

policy2008 2002-12-05 08:06:45
MoveTo 和 MoveBy 两个方法有什么区别???

还有 resizeBy and resizeTo 有什么区别????
...全文
341 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
harryyang 2002-12-05
  • 打赏
  • 举报
回复
moveTo Method:
Moves the upper-left corner of the element to the specified location for the moveable behavior
moveBy Method:
Moves the screen position of the window by the specified iX and iY offset values.
junguo 2002-12-05
  • 打赏
  • 举报
回复
moveTo 是绝对位置,就是说x,y代表着是屏幕的位置。
moveBy是相对位置,x,y代表着是移动以后距离它现在的位置。
共70页,复制两页供参考,如下: 1 JavaScript基本语法 1) 读未声明的变量会产生错误。写未声明的变量会是JavaScript环境自动产生一个全局变量。 2) 对于完全等同“===”,两个null或者两个undefined是等同的;但null与undefined是不等同的。 3) 对于相等“==”, null与undefined是相等的。若值与对象比较,核心语言内部类会尝试用valueof()转换,再尝试用toString()转换。就是说valueof()会比toString()有更高的优先级。但规则不绝对,例如Date类,它会首先尝试用toString()转换。当类的这两个方法实现不一致时,在要进行类型转换时指定具体的实现方法比较安全。 4) 在比较运算中,若一个对象或值被转换成NaN(Not a Number),则永远返回false。 5) in可以检查指定字符串是否是一个对象的基本属性或方法名称;instanceof运算符返回左边的对象是否右边类的一个实例;delete可以删除一个属性,它不会影响到属性关联的对象的生存,若该属性不存在会返回true;[]可以以字符串的方式存取对象的属性。 6) typeof函数的返回值:数字——number,字符串——string,布尔值——Boolean,对象、数组、null——object,函数名——function或undefined(未定义时)。主要用来区别区别对象和原始类型。要区分对象的具体类型,用instanceof运算符。 7) 在函数体内有隐含的arguments对象,可取得所有传入的参数,可用类似数组的方式读/写各参数,length属性表示参数的个数。但函数的只读属性length表示函数实际定义的参数个数。一个名为callee的属性代表函数本身。 8) 构造函数也是函数,但它通过new调用,无返回值。函数体内通过this来取得将要初始化的对象。 9) 对象的方法可用this对对象自身进行操作,其它方面与普通的函数没有任何区别。 10) 每个类都有一个原型(prototype)对象,它具有一套属性和方法,用来共享一个类的方法和常量,还有一个constructor的属性引用构造函数。 11) JavaScript中面向对象的特性: a) 实例属性:在构造函数创建或初始化的属性。 b) 实例方法:在构造函数中把原型对象中的一个属性设为函数来实现。 c) 类属性:构造函数本身的属性。 d) 类方法:用合适的函数作为构造函数本身的一个属性。 e) 子类:把原型对象赋值为父类的一个实例,默认父类为Object的实例。同时还要将prototype.constructor赋值为子类的构造函数自己。 f) 继承:只是在查询一个属性时自动发生,而不会在写属性时发生,就是说单写一个父类的属性时,JavaScript环境会为对象本身创建一个同名的属性,从此该属性就覆盖了父类中的属性。 12) 创建一个数组可用 new Array() 。可以在构造函数参数中指定数组的前n个元素的值。数组的元素可以具有任意类型,甚至是另外一个数组。同一数组中可以存在不同类型的元素。数组的length是可读写的。这也是缩短一个数组的唯一方法。 2 客户端JavaScript 2.1 Window类 1) Window类的实例是全局对象,用它的window或者self属性可引用它自己。 2) 一个应用程序出现的每个窗口或框架都对应一个Window对象,而且都为客户端JavaScript代码定义了一个唯一的执行环境。 3) 脚本执行过程是Web浏览器的HTML解析过程的一部分。脚本按照它们的出现顺序执行。 4) 简单的对话框可用:alert()、 confirm()、 prompt()之一。 5) 时间间隔方法为: setInterval()、 cleraInterval() 。 6) onerror属性指明错误处理的方式。 navigator属性包含Web浏览器总体信息。 screen属性包含显示器的信息。 7) 打开窗口用open()方法,返回值是被打开的窗口。调用应该明确指明是window.open(),以避免和document.open()方法混淆。同时还应该调用focus()方法使窗口成焦点保证窗口可见。opener属性是打开自己的那个窗口,若是用户手动打开,这位null。 8) 关闭窗口用window.close()方法,窗口关闭后,代表它的Window对象可能还生存,可用closed属性进行判断它是否已经被关闭。 9) 控制窗口几何大小可用moveTo()、moveBy()、resizeTo()、resizeBy()。滚动可用scrollTo、scrollBy()。 10) 成焦点和失焦点可用 focus()、blur()。 11) location属性代表当前显示文档的URL。对其赋值使浏览器装载新的URL(用Back按钮能回退到原页面)。其实,它是Location类的一个实例,它还有一个reload()方法可以装载信的URL(用Back按钮不能回退到原页面)。 12) history属性可看成是代表历史URL的一个特殊数组,它的可读length属性表明数组的长度。支持三种方法back()、forword()、go()。 13) 一个窗口中的任何框架都可以使用属性frames、parent和top引用窗口中的其它框架。 14) 若框架指定了名字,引用就会被存储到它的父Window对象的一个同名新属性中。 15) 自定义的函数和构造函数只在定义它的窗口中可见。别的窗口要先通过一个属性来引用。但JavaScript默认的函数和构造函数会在每个窗口中拥有独立副本。 16) onload()和onunload()事件分别在网页装载完成后和卸载前执行。
1. CameraFade(摄像机的渐隐) 其中Camera或者场景的东西并没有消失,只是在屏幕上贴了一张贴图 首先,要用到摄像机的渐隐/显功能的话,必须调用CameraFadeAdd()函数,来添加背景图片,不然在运行时会包错。 下面来讲解一下CameraFade里面需要用到的几个函数 1) CameraFadeAdd() //当不传参的时候,会默认一个黑色的背景 CameraFadeAdd(Texture2D texture) //摄像机视图渐隐后显示texture CameraFadeAdd(Texture2D texture,int depth) //同上,depth的作用暂时不知道,猜测与分层有关,可能类似PS中的图层 2)CameraFadeDepth(int depth) //改变刚才texture的depth 3)CameraFadeDestroy() //移除并摧毁 4)CameraFadeTo(float amount,float time) 从当前视图转换到前面设置的视图(texture) //amount透明度,介于0~1之间。等于1 时Texture完全覆盖Camera视图 //time是达成该效果需要多少秒 CameraFadeTo(Hashtable args) //用哈希表可以设置更详细的内容 此函数的哈希表key有:name,amount,time,delay,easetype,looptype,onstart等,KEY作用以及值参考提供的EXCEL文档中的HASHTABLE项 5)CameraFadeFrom(float amount,float time) CameraFadeTo(Hashtable args) //从前面设置的视图(texture)转换到当前视图,参数参考CameraFadeTo 6)CameraTexture(Color color) //创建一个单色的用于CameraFade的texture2d 2. Audio音频 同CameraFade一样,itween中对音频的控制也并没有结束音频的播放,而是控制的音频的音量(volume)和音调(pitch)。音频文件赋值到某个GO上,将GO给函数传参 1)AudioTo(GameObject target, float volume, float pitch, float time) //target为挂载音频的对象,volume/pitch为最终要达到的音量/音调(volume的值为0~1),达到目的所需的时间 AudioTo(GameObject target, Hashtable args) //hashtab参数:name,audiosource,volume,pitch,time,delay,easetype,looptype,onstart等 其中Audiosource是你挂载音频的物体 2)AudioFrom(GameObject target, float volume, float pitch, float time) AudioFrom(GameObject target, Hashtable args) 这个就不详解了,就一个FROM和TO的区别,参数都一样 3)AudioUpdate(GameObject target, float volume, float pitch, float time) AudioUpdate(GameObject target, Hashtable args) a)这个函数主要用在那种会循环调用的函数里面,比如系统的Update()函数,它会不断的降低音量音调来接近你设置的那个值,降低那个差值会递减。 b)这里需要注意的是,即使使用hashtable也只有以下这几个参数: audiosource,volume,pitch,time 3. Color(颜色) 函数类似上面的audio,具体参数解析,可以参考excel文档中的color hashtable 函数有以下几个: 1)ColorFrom(GameObject target, Hashtable args) ColorFrom(GameObject target, Color color, float time) 2)ColorTo(GameObject target, Hashtable args) ColorTo(GameObject target, Color color, float time) 3)ColorUpdate(GameObject target, Color color, float time) ColorUpdate(GameObject target, Hashtable args) 在这里会引入一个比较特别的新的参数,NamedValueColor,这是一个枚举变量,有一下几个值:_Color,_SpecColor,_Emission,_ReflectColor具体意义可以参考EXCEL 文件 4. Draw(画线)的几个函数区别 DrawLine(Vector3[] path) DrawLine(Vector3[] path, Color color) DrawLine(Transform[] path) DrawLine(Transform[] path,Color color) DrawLineGizmos DrawLineHandles DrawPath DrawPathGizmos DrawPathHandles PathLength //返回路径长度 这些函数必须放在OnDrawGizmos()里面使用。OnDrawGizmos()和Start()一样直接放在脚本类内部的最外层。DrawPath的效果是在编辑器内部可以看到,但是运行时没有的 每个函数的参数和DrawLine()一样,就不一一列举了。 其中DrawLine是画直线而DrawPath是画曲线路径,也是物体移动的实际路径。 函数以Gizmos结尾的和没有的效果一样,而以Handles结尾的暂时有一个不兼容的问题,不能用,这样算下来,这几个函数里面有用的也就三个: DrawLine() DrawPath() PathLength() 在这里还有一个函数,用于给你的路径上的画一个线圈,方便观察 Gizmos.DrawWireSphere(Vector3 position,float radius); //参数一为位置,参数二为半径 效果如图: 5. 物体渐隐(FadeTo,FadeFrom,FadeUpdate) 主要是对物体的alpha通道值进行改变,使物体逐渐透明。 这里要注意的是,需要改了shader参数,这个效果才会生效。首先你给物体添加一个Material后,选中物体,查看inspector视图,在Material处你会看到一个shader选项,点击选择transparant->Diffuse 6. 物体朝向(LookFrom,LookTo,LookUpdate) 1)LookFrom(GameObject target, Vector3 looktargetposition, float time) LookFrom(GameObject target, Hashtable args) 2)LookTo(GameObject target, Vector3 looktargetposition, float time) LookTo(GameObject target, Hashtable args) 前两个函数的哈希表参数如下: name,looktarget,axis,time,speed,delay,easetype,looptype,onstart等,具体的可以参考EXCEL文件 3)LookUpdate(GameObject target, Hashtable args) LookUpdate(GameObject target, Vector3 looktargetposition, float time) 用于循环函数,如Update()中,使物体一直朝向looktargetposition, 7. 移动(Move*) 1)MoveAdd(GameObject target, Vector3 amount, float time) MoveAdd(GameObject target, Hashtable args) 2)MoveBy(GameObject target, Vector3 amount, float time) MoveBy(GameObject target, Hashtable args) 3)MoveFrom(GameObject target, Vector3 position, float time) MoveFrom(GameObject target, Hashtable args) 4)MoveTo(GameObject target, Vector3 position, float time) MoveTo(GameObject target, Hashtable args) 5)MoveUpdate(GameObject target, Vector3 position, float time) MoveUpdate(GameObject target, Hashtable args) 这几个函数的不使用哈希表作为参数的时候没有区别,但是当引入哈希表的时候,movefrom和moveto可以根据一个vector3序列(path)进行运动,而moveadd和moveby只能点对点运动,moveby和moveadd这两个函数经过测试,我表示他们没区别,当然要是你发现他们之间的区别的时候,记得联系我告诉我哦,大家相互学习嘛。Moveupdate和其他**update原理一样,就不讲了,具体的参数也都比较好理解,哈希表参数可以参考我的EXCEL文档 Moveupdate的哈希表参数只有: position,x,y,z,orienttopath,looktarget,looktime,axis,islocal,time (PS:参数之间有的是不能同时为真的哦,比如orienttopath和looktarget) 8. 暂停itween(Pause) 当某itween被赋予“ignoreTimeScale”时,无法暂停 函数比较简单,我就直接贴在下面了: Pause(GameObject target) //暂停gameobject上的所有itween Pause(GameObject target, bool includechildren) //暂停gameobject上的所有itween,是否包括孩子 Pause(GameObject target, string type) //暂停gameobject上的,某个类型的所有itween Pause(GameObject target, string type, bool includechildren) //暂停gameobject上的,某个类型的所有itween,是否包括孩子 Pause() //暂停场景中的所有itween 9. Resume继续 就和上面的暂停一个样,就不详细讲了 Resume(GameObject target) Resume(GameObject target, bool includechildren) Resume(GameObject target, string type) Resume(GameObject target, string type, bool includechildren) Resume() 10. Stop停止 就和上面的暂停一个样,就不详细讲了 Stop() Stop(string type) Stop(GameObject target) Stop(GameObject target, bool includechildren) Stop(GameObject target, string type) Stop(GameObject target, string type, bool includechildren) 11. StopByName根据名字停止 StopByName(string name) 12. 外力击打效果(PunchPosition,PunchRotation,PunchScale) 用于模拟物体受外力后,改变位置,旋转,大小的效果。 PunchPosition(GameObject target, Vector3 amount, float time) PunchPosition(GameObject target, Hashtable args) PunchRotation(GameObject target, Vector3 amount, float time) PunchRotation(GameObject target, Hashtable args) PunchScale(GameObject target, Vector3 amount, float time) PunchScale(GameObject target, Hashtable args) 这几个函数没有引入新的哈希表参数,就不详细讲解了 13. PutOnPath 把物体放到某路径的百分之几的位置 PutOnPath(GameObject target, Vector3[] path, float percent) PutOnPath(GameObject target, Transform[] path, float percent) PutOnPath(Transform target, Vector3[] path, float percent) PutOnPath(Transform target, Transform[] path, float percent) 14. PointOnPath 返回一个在路径上百分之几的位置的vector3 position PointOnPath(Transform[] path, float percent) PointOnPath(Vector3[] path, float percent) 15. RectUpdade RectUpdate(Rect currentValue, Rect targetValue, float speed) : Rect 具有返回值 这东西,暂时没搞懂怎么用,反正效果就是一个矩形,在给出的值之间不停的变换位置和大小 16. 旋转(Rotate**) 根据移动(Move**)的函数推理一下就懂了,相信你的能力 RotateAdd(GameObject target, Vector3 amount, float time) RotateAdd(GameObject target, Hashtable args) RotateBy(GameObject target, Vector3 amount, float time) RotateBy(GameObject target, Hashtable args) RotateFrom(GameObject target, Vector3 rotation, float time) RotateFrom(GameObject target, Hashtable args) RotateTo(GameObject target, Vector3 rotation, float time) RotateTo(GameObject target, Hashtable args) RotateUpdate(GameObject target, Hashtable args) RotateUpdate(GameObject target, Vector3 rotation, float time) 17. 规模(Scale**) 根据移动(Move**)的函数推理一下就懂了,相信你的能力 ScaleAdd(GameObject target, Vector3 amount, float time) ScaleAdd(GameObject target, Hashtable args) ScaleBy(GameObject target, Vector3 amount, float time) ScaleBy(GameObject target, Hashtable args) ScaleFrom(GameObject target, Vector3 scale, float time) ScaleFrom(GameObject target, Hashtable args) ScaleTo(GameObject target, Vector3 scale, float time) ScaleTo(GameObject target, Hashtable args) ScaleUpdate(GameObject target, Vector3 scale, float time) ScaleUpdate(GameObject target, Hashtable args) 18. 晃动(Shake**) 根据你给的参数进行位置旋转大小的晃动,比较特别的是,这个晃动会逐步减小归于平静。看了前面那些函数的参数作用,相信这个也不是问题了: ShakePosition(GameObject target, Vector3 amount, float time) ShakePosition(GameObject target, Hashtable args) ShakeRotation(GameObject target, Vector3 amount, float time) ShakeRotation(GameObject target, Hashtable args) ShakeScale(GameObject target, Vector3 amount, float time) ShakeScale(GameObject target, Hashtable args)

87,942

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧