|
主题: 关于图片随鼠标旋转的问题征答
|
 lxk
职务:普通成员
等级:1
金币:0.0
发贴:45
|
#12000/12/14 8:04:20
一些用director做的光盘中,有些图片可以随鼠标旋转,鼠标向左移动,它就漫漫向左动;鼠标向右、上、下移动,它就相应地旋转,且随着鼠标移动的快慢旋转速度也不同。还有一个特性:如果鼠标在动后停止了,它将渐渐减速,直到正常旋转。 这和虚拟现实的差不多,有时用到,可以从不同角度观察对象。 现在假设有12张图,分别为a1、a2......a12,是同一物体按照顺时针每隔10度就拍摄的图片,怎样编写程序??(或许用到rotation了) 特此请教各路大虾。
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
|
#22000/12/14 8:58:52
“假设有12张图,分别为a1、a2......a12,是同一物体按照顺时针每隔10度就拍摄的图片” 如果是同一张图不同的旋转角度,那就不用12张图了,用ratation就可以了。如果这些图不是源于同一张图,那就只好用替换member等方式来完成了。 sprite(X).member=... 或 sprite(X).member.filename=... 或 sprite(me.spriteNum).member..... 至于鼠标控制sprite的旋转,程序的编写和调试比较复杂,不是三言两语能说清楚的,可以参看《Director7开发使用手册》中三维效果的模拟和Director 8下的\Show Me\sprite_rotation movie 。
|
 jiesun
职务:普通成员
等级:1
金币:1.0
发贴:182
|
#32000/12/14 12:20:22
show me 中的是dcr,怎么才能看能?
|
 草原战狼
职务:普通成员
等级:1
金币:0.0
发贴:15
|
#42000/12/14 15:46:53
是啊,DCR如何打开? 另外,如何监测鼠标移动的事件???
|
 我是小马
职务:普通成员
等级:3
金币:17.0
发贴:794
|
#52000/12/14 19:01:11
用IE打开就行了,不过可能需要安装shockwave插件 检测鼠标移动可以通过检测the mouseloc来实现 jiesun在上个贴子中说 引用: show me 中的是dcr,怎么才能看能?
编辑历史:[这消息被mzgjingsi编辑过(编辑时间2000-12-14 19:07:48)]
|
 南山东篱摄螂
职务:普通成员
等级:4
金币:10.0
发贴:1840
|
#62000/12/14 23:13:07
用the mouseV和the mouseH 也可以读取鼠标坐标。
|
 草原战狼
职务:普通成员
等级:1
金币:0.0
发贴:15
|
#72000/12/15 0:31:11
但是怎么使用mouseloc and mouseV and mouseH. 比如说,我要使图片跟随鼠标来移动,改变鼠标移动的lingo应该放在哪里呢?
|
 土豆
职务:普通成员
等级:1
金币:0.0
发贴:103
|
#82000/12/15 0:57:32
既可以放在帧脚本通道里,也可以附在精灵上! 如是在帧脚本通道,则要做个循环(go to the frame) 而附在精灵上,则可以用很多种EVENT来触发它!
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
|
#92000/12/19 9:22:59
请参考一下d8的library,里面的行为库内有完整的代码,适当修改即可使用.
|
 lxk
职务:普通成员
等级:1
金币:0.0
发贴:45
|
#102000/12/19 11:34:46
谢谢!!!
|
 dexn
职务:普通成员
等级:1
金币:1.0
发贴:157
|
#112000/12/19 15:36:37
可以用on exitframe me 读取the mouseloc,再用后帧的减前帧的,根据绝对值大小判断鼠标移动快慢,用该值与rate相关,便可,
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
|
#122000/12/20 1:12:48
在一个区域里用on mousewithin 可用flash画不规折区域
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
|
#132000/12/20 1:12:58
在一个区域里用on mousewithin 可用flash画不规折区域 有请各位高手在探讨一下member转换时的减速  我先去试验一下
编辑历史:[这消息被54zq编辑过(编辑时间2000-12-20 02:36:42)]
|
 D计划-混沌
职务:管理员
等级:6
金币:15.2
发贴:3528
|
#142000/12/20 20:57:44
鼠标不动后,检测到球体的转向(up addnum=- down addnum=+ ) 鼠标的力度delayration&addnum repeat while delayration=delayration+num changemember (addnum,delayration) end repeat
on changemember addnum,delayration if voidP(adnum) then set addnum=1 else if voidP(delayration) then set delayration=15 end if set membernum=the castnum of sprite spritenum starttimer repeat while the timer delayration=delayration+1 membernum=membernum+addnum end repeat set the castnum of sprite spritenum to membernum end changemember 好像不大对,请各位踊跃指教
|