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

Project1

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

场景类的结构问题

 关闭 [复制链接]

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
跳转到指定楼层
1
发表于 2008-4-15 04:18:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
最近开始在学习
场景类的结构
class Scene_Xxxx

  def main
####################################
(A部分)
####################################
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
####################################
(B部分)
####################################
  end

  def update
####################################
(C部分)
####################################
  end
end

(A部分)大部分是描述 定义一些视窗或图片的地方
(B部分)大部分是描述 释放视窗或图片的地方(dispose)
(C部分)大部分是描述 显示视窗或图片(update)
大概是这样吧??

但就Scene_Menu中的def update来看有
# 命令视窗被活化的情况下: 呼叫 update_command
if @command_window.active
  update_command
  return
end
# 状态视窗被活化的情况下: 呼叫 update_status
if @status_window.active
  update_status
  return
end

何為 被活化(.active)???

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

2
发表于 2008-4-15 04:21:39 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
3
 楼主| 发表于 2008-4-15 04:47:55 | 只看该作者
{/fd}刷新被激活???(好像没解释到活化...)

能不能说明白一点??
刷新又究竟怎么定义??

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1035
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

4
发表于 2008-4-15 05:13:52 | 只看该作者
因爲裏面設置两監視Input的語句
比如:
    if Input.trigger?(Input::C)
如果不根據窗口的活動建立分歧,就會引起互相之間的衝突。按下 C 鍵執行多個任務。
當然你也可以用步驟分歧,如同  Scene_Battle 一樣 case @phrase

Scene 類別的基礎在 Scene_Shop,極緻在 Scene_Battle
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-2-13
帖子
1740
5
发表于 2008-4-15 05:15:04 | 只看该作者
被活化就是类似于按上下左右键时可更变选项,可实行操作
好吧,果然换个签名就没人认识我了。我承认我被时间埋没了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
6
 楼主| 发表于 2008-4-15 05:57:13 | 只看该作者
那(.visible)
和(.refresh)
又是什麼???

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2008-2-13
帖子
1740
7
发表于 2008-4-15 06:00:32 | 只看该作者
.visible  是"是否可视"的意思,.visible = true为可以看到false为不可以
.refresh  是调用刷新的方法,此方法还需要自己定义
好吧,果然换个签名就没人认识我了。我承认我被时间埋没了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-6
帖子
58
8
发表于 2008-4-15 06:22:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

9
发表于 2008-4-15 19:42:03 | 只看该作者
程序运行实际就是数学和逻辑的过程

class Scene
   def main
       初始化
       更新  (这里调用到update)
       释放
   end
end

所谓的active或refresh之类的只不过是一个逻辑   用于控制脚本的运行流程
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 12:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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