|
主题: 如何让舞台可以滚动?
|
 wws2000
职务:普通成员
等级:1
金币:1.0
发贴:126
|
#12001/6/13 12:27:45
我想做一大面积漫游图,在图的各个地方分别有一些热区或按钮什么的,可以响应用户的一些交互,实现的效果有点类似游戏里面的画面,鼠标移到屏幕四周时,画面自然滚动。
如果单纯是一个图形这没有什么难度,但考虑到交互时就不太容易了。
比如设想一个人,在用户操作下自由走动,随着走动场景自然移动,而且在不同位置可以分别完成一些交互。
洪恩万事无忧系列光盘有个“梦圆PC”,有一些意思,但好像也没有找到完美的解决方案。
但这种效果的确在一些场合用得到,所以提出来大家一块研究研究,看有没有办法。
编辑历史:[这消息被wws2000编辑过(编辑时间2001-06-13 12:35:06)]
|
 Call Me Simon
职务:普通成员
等级:2
金币:2.0
发贴:646
|
#22001/6/13 12:58:40
我想仍然是让sprite来控制交互, 而不是stage. 舞台也不能移动, 它是定位的参照。我的观点
|
 TZealot
职务:普通成员
等级:1
金币:0.0
发贴:11
|
#32001/6/13 19:36:28
当鼠标到某各地点或区域时,背景滚动
|
 愁眉不展
职务:普通成员
等级:1
金币:0.0
发贴:114
|
#42001/6/14 9:36:09
我原来是把大图切割后,做背景滚动,视区附近的交互因素随之移动,没什么问题. 有人说用drawrect效果更好,我没试过.
|
 threem
职务:普通成员
等级:2
金币:1.0
发贴:338
|
#52001/6/14 14:41:12
let me try : 用检测鼠标的瞬间移动量,实现背景图的感应变动!当然先要建立一个“热区”。鼠标在“热区”内鼠标与背景图无湖动,鼠标移出“热区”就根据鼠标便移量,调整背景图位置! 而背景图上的交互“景点”可以用判定鼠标的“接触”与否来控制!
具体流程几乎全要lingo 来实现!关键语句: inside(the mouseloc,the rect of sprite whichsprite) --返回true or false! 热区:inside(the mouseloc,rect(30,30,770,570) ) --以800*600显示为例!
如果添加“人物”,由用户控制交互,可以将鼠标相关的功能改编后附在sprite:“人物”上!
编程思路,及具体代码,我因近医学实习忙,恕爱莫能助。 有空我会自己尝试以下!
怎么做得最好,还得大家一起商讨!
|
 wws2000
职务:普通成员
等级:1
金币:1.0
发贴:126
|
#62001/6/15 13:34:40
多谢各位的热心回答。
感觉问题还没有解决,即使是思路也不是很明朗。
1、背景图移动时,在图的不同位置出现的一些热区(按钮)怎么办。怎么做到它们的整体一致的移动。
2、我设想是不是可以用film loop来实现。做一个比舞台还大的film loop,让它随着移动。之所以这样设想原因有二:一是film loop具有整体性,便于移动。二是film loop有集成性。其各构成要素可以具有自己的脚本。
以上设想,拿出来大家看看行不行。
大家也尽可以提出自己解决问题的思路,并不一定一开始就探讨到具体lingo命令的实现。另外需要说明的是“舞台滚动”只是一种视觉上的效果,我的本意也并不是说一定要让stage滚动。
编辑历史:[这消息被wws2000编辑过(编辑时间2001-06-15 13:36:58)] [这消息被wws2000编辑过(编辑时间2001-06-15 13:41:39)]
|
 threem
职务:普通成员
等级:2
金币:1.0
发贴:338
|
#72001/6/16 19:42:47
你的思路也很好!
1.我计划中的感应热区(按钮)也可用rect(....)来规划.并且他的变动可由sprite(背景)来制约.具体可行.
2.或者,按钮可用真实的sprites来替换,各按钮与背景图实行联动!
|
 landelee_5d
职务:普通成员
等级:1
金币:0.0
发贴:24
|
#82001/6/18 11:05:20
wws2000在上个贴子中说 引用: 多谢各位的热心回答。
感觉问题还没有解决,即使是思路也不是很明朗。
1、背景图移动时,在图的不同位置出现的一些热区(按钮)怎么办。怎么做到它们的整体一致的移动。
2、我设想是不是可以用film loop来实现。做一个比舞台还大的film loop,让它随着移动。之所以这样设想原因有二:一是film loop具有整体性,便于移动。二是film loop有集成性。其各构成要素可以具有自己的脚本。
以上设想,拿出来大家看看行不行。
大家也尽可以提出自己解决问题的思路,并不一定一开始就探讨到具体lingo命令的实现。另外需要说明的是“舞台滚动”只是一种视觉上的效果,我的本意也并不是说一定要让stage滚动。
用Sendprite试试
编辑历史:[这消息被landelee编辑过(编辑时间2001-06-18 11:07:59)]
|