设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2321|回复: 2
打印 上一主题 下一主题

[通用发布] 这货绝对不是教程——关于场景中的窗口精灵移动

[复制链接]

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

跳转到指定楼层
1
发表于 2011-7-2 15:30:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 退屈£无聊 于 2011-7-2 15:32 编辑

适用人群只是想给一些系统性脚本加一点微华丽(华丽你大头)的效果的人
提供思路2                                                                                                                  



方法一:
在一个方法中(方法可自选,基本上是在update里=-=)加入如下语句:
  1. if xxx.x <= xxx
  2. loop do
  3. xxx.x += 2
  4. Graphics.update
  5. break if xxx.x > xxx
  6. end
  7. end
复制代码
嘛。。可能有点难以理解,稍微给个范例好了。
  1. =begin
  2. if @window.x <= 50 # 当@window的X值小于等于50的情况下。这里的x可以换成@window中可以更改的属性中的一个如opacity
  3. loop do                     # 循环
  4. @window.x += 2      # @window的X值+2
  5. Graphics.update        # 画面更新
  6. break if @window.x > 50 # 如果@window的X值大于50就结束循环
  7. end
  8. end
  9. =end
复制代码
这一种方法是比较普遍的方法。不过有一点缺点。在某一个窗口或精灵移动时。其他操作全部中断。



第二种:设置比较麻烦。为了防止误伤某脚本,这里采取重命名的方法做介绍(当然你在实际操作中可以直接写。

  1. class ABC
  2. alias old_ini initialize
  3. def initialize
  4. @begin = 0
  5. old_ini
  6. end
  7. alias old_up update
  8. def update
  9. case @begin
  10. when 0
  11. @window.x += 1
  12. @begin = 1 if @window.x > 50
  13. when 1
  14. @window.opacity -= 10
  15. @begin = 2 if @window.opacity <= 0
  16. end
  17. old_up
  18. end
  19. end
复制代码
这个方法的唯一好处就是,可以让窗口或精灵的变更与其他操作同时进行。但是设置比较烦琐。
大概这里就提供了这么两种方法。希望各位能提供更多的思路,谢谢。
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground

Lv1.梦旅人

梦石
0
星屑
217
在线时间
828 小时
注册时间
2010-6-22
帖子
120

开拓者

3
发表于 2011-8-20 18:32:49 | 只看该作者
本帖最后由 f26401004 于 2012-1-14 18:08 编辑

不過窗口的移動應該可以減化成:
if @status_window.x != 20
@status_window.x += 4
end
但這樣子加數必須為20的因數才行......

点评

- -  发表于 2011-8-21 10:46
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1342
在线时间
675 小时
注册时间
2009-11-11
帖子
2790
2
发表于 2011-7-2 15:47:43 | 只看该作者
不知道那些正规游戏中的移动效果是不是这么判断,某个精灵是否到达了某个点,没到的话继续移动,看似有更高效的方法。。。。帮顶

点评

表示每次移动然后到了某个点停下XD就是如此  发表于 2011-7-3 22:21

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 04:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表