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

Project1

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

[有事请教] 【对手指】只是来请教一下某个脚本的原理的

[复制链接]

Lv1.梦旅人

梦石
0
星屑
108
在线时间
1006 小时
注册时间
2008-11-9
帖子
1658
跳转到指定楼层
1
发表于 2012-3-31 17:54:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
最近在疯狂研究改菜单的方法~
数据显示、窗口关联显示都差不多弄懂了到底怎么回事,也都成功实现~
唯独在窗口背景这一块卡住了~
我不怎么希望调用事件来辅助菜单运行,既然学了脚本就不允许自己偷懒的(PIA
于是想求教一下~
我在竖版ESC菜单脚本里加了下面这一个函数:
RGSS 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 显示菜单背景
  3.   #--------------------------------------------------------------------------
  4.   def window_backgrounds
  5.     menuback = Sprite.new
  6.     menuback.bitmap = Bitmap.new("Graphics/Menu/background.png")
  7.     menuback.x = 0
  8.     menuback.y = 0
  9.     menuback.z = 0
  10.     loop do
  11.       Graphics.update
  12.     end
  13.   end

当然我确定我已经在执行序列中添加了这个函数~
可是改完之后,报错倒是没报错,游戏始终黑屏了= =

检查了一下,觉得可能是类似于按键扫描中没有加等待5帧这样的错误~
把这一段删了下去:
RGSS 代码复制
  1. loop do
  2.       Graphics.update
  3.     end


但是打开菜单之后,背景图像只是闪动一下就消失了·····
我泪奔了,在F1里不知道是不是我没仔细看,没找出等待的语句啊= =
或者根本是我的思路错了,调用窗口之后再载入图像才行?
可是那样的话,又要重新写一大段关于选择框的语句啊= =

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39602
在线时间
7482 小时
注册时间
2009-7-6
帖子
13482

开拓者贵宾

2
发表于 2012-3-31 17:57:41 | 只看该作者
是不是画面冻结忘了过度了。

点评

画面冻结和画面过度?我修改的脚本里貌似没有这些东西······莫非使用冻结功能可以让画面一直显示?可是选择框和资料页关联貌似就有点难实现了~   发表于 2012-3-31 18:00
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

3
发表于 2012-3-31 18:00:47 | 只看该作者
注意变量的类型。
开头什么都没有的普通变量只可以在一个方法内存在。
  1. @menuback
复制代码
用这个试试

点评

囧,抱歉是我机器抽了= =,重启了一下RMVA,在刷新函数里添加了@menuback.update之后问题解决T T  发表于 2012-3-31 18:07
····囧,改完了以后反而报错,才想起那不是变量,那是精灵······  发表于 2012-3-31 18:03
谢谢^_^,我去试一下嗯····  发表于 2012-3-31 18:01
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
727
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
4
发表于 2012-3-31 18:03:14 | 只看该作者
本帖最后由 R-零 于 2012-3-31 18:05 编辑

我想你知道的




原文:                                                                                   译文:                    
def window_backgrounds                                                         定义 这个方法

    menuback = Sprite.new                                                        变量menuback,作为一个精灵对象创建

    menuback.bitmap =
Bitmap.new("Graphics/Menu/background.png")                      menuback这个精灵所拥有的位图是***

    menuback.x = 0                                                                  它的x坐标是 0

    menuback.y = 0                                                                 它的y坐标是 0

    menuback.z = 0                                                                   它的z坐标也是 0

    loop do                                                                             ·循环

      Graphics.update                                                                  更新画面

    end                                                                                   ·完毕

  end                                                                                         结束定义






menuback这个变量只对当前定义的方法内部有效,而这个方法明显只被调用了一次
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
108
在线时间
1006 小时
注册时间
2008-11-9
帖子
1658
5
 楼主| 发表于 2012-3-31 18:10:46 | 只看该作者
R-零 发表于 2012-3-31 18:03
我想你知道的

谢谢~
明白问题所在了,果然我还是经验太少,忘记检查变量/精灵的应用范围了······

点评

经验什么的()  发表于 2012-3-31 18:13
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39602
在线时间
7482 小时
注册时间
2009-7-6
帖子
13482

开拓者贵宾

6
发表于 2012-3-31 18:28:02 | 只看该作者
原来是临时变量啊,老眼昏花……
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-19 19:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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