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

Project1

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

脚本的构造(新手学脚本的大问题)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-7-4
帖子
69
跳转到指定楼层
1
发表于 2007-9-6 02:24:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请问一个脚本构造是怎样的?

class类
  def 方法
  end
end

就完成了吗?

为什么有的class类下面是def main  #主处理
而有的却要是def initialize 初始化呢?

他们的不同和相同是什么呢?

update刷新一般在什么情况下会用到呢?
.dispose释放是什么意思呢?它是使用在update的前面还是后面呢?一般是什么地方使用?
-------------------------------------------------------------------------------
比如:
class Window_1
  def main
     @window_1=Window_1.new
上面的@window_1=Window_1.new 这一句是什么意思呢?为什么要写成@window_1=Window_1.new 呢?如果写成@wwwwww=Window_1.new 可以吗?为什么呢?

-------------------------------------------------------------------------------
地图事件中的第3页的脚本和F11的脚本有什么区别吗?
外挂脚本里在事件脚本中写的$scene = XXXX_XXXX.new意思是调查此事件时调出XXXX_XXXX
的场景,那么有没有$game = XXXX_XXXX.new这样的写法呢?如果有,是什么意思呢?

-------------------------------------------------------------------------------
为什么主循环都要是这样的格式呢?缺少里面其中一样可以吗?为什么?
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面情报
      update
      # 如果画面被切换的话就中断循环
      if $scene != self
        break
      end
    end
-------------------------------------------------------------------------------
有的类里定义了很多个def方法  这些方法都只能在这个类里使用吗?
只能在class
      end之间使用呢还是class里面的任何地方包括def里在调用其他def方法或者一个if条件分歧里也可以调用这些方法吗?
这些方法如果在别的类里可以调用吗?子类可以调用父类里的def方法吗?
-------------------------------------------------------------------------------
很多问题,希望达人们帮帮新手学习脚本哈,小弟先谢谢了!!!!
学习脚本中~~~~~~~

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-7-4
帖子
69
2
 楼主| 发表于 2007-9-6 02:24:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请问一个脚本构造是怎样的?

class类
  def 方法
  end
end

就完成了吗?

为什么有的class类下面是def main  #主处理
而有的却要是def initialize 初始化呢?

他们的不同和相同是什么呢?

update刷新一般在什么情况下会用到呢?
.dispose释放是什么意思呢?它是使用在update的前面还是后面呢?一般是什么地方使用?
-------------------------------------------------------------------------------
比如:
class Window_1
  def main
     @window_1=Window_1.new
上面的@window_1=Window_1.new 这一句是什么意思呢?为什么要写成@window_1=Window_1.new 呢?如果写成@wwwwww=Window_1.new 可以吗?为什么呢?

-------------------------------------------------------------------------------
地图事件中的第3页的脚本和F11的脚本有什么区别吗?
外挂脚本里在事件脚本中写的$scene = XXXX_XXXX.new意思是调查此事件时调出XXXX_XXXX
的场景,那么有没有$game = XXXX_XXXX.new这样的写法呢?如果有,是什么意思呢?

-------------------------------------------------------------------------------
为什么主循环都要是这样的格式呢?缺少里面其中一样可以吗?为什么?
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面情报
      update
      # 如果画面被切换的话就中断循环
      if $scene != self
        break
      end
    end
-------------------------------------------------------------------------------
有的类里定义了很多个def方法  这些方法都只能在这个类里使用吗?
只能在class
      end之间使用呢还是class里面的任何地方包括def里在调用其他def方法或者一个if条件分歧里也可以调用这些方法吗?
这些方法如果在别的类里可以调用吗?子类可以调用父类里的def方法吗?
-------------------------------------------------------------------------------
很多问题,希望达人们帮帮新手学习脚本哈,小弟先谢谢了!!!!
学习脚本中~~~~~~~

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

3
发表于 2007-9-6 02:45:46 | 只看该作者
[quote]请问一个脚本构造是怎样的?

class类
def 方法
end
end

就完成了吗?


基本上是这样..基本就是..
类.方法.变量
[/quote]



[quote]为什么有的class类下面是def main  #主处理
而有的却要是def initialize 初始化呢?

他们的不同和相同是什么呢?


只有initialize是内置的私有方法...
在new的时候会运行initialize里的内容.
注意在脚本的最下面Main里有这样一句
while $scene != nil
  $scene.main
end
就是如果$scene这个东东不为nil的时候就一直运行$scene的main方法...
所以可以这样理解
$scene = Scene_Title.new
先把$scene代入了Scene_Title这个东东
然后
while $scene != nil
  $scene.main
end
因为$scene不为nil
所以就运行$scene的main方法...
然后在main里有这样一个东东
就是只要不中断就一直循环运行XXX
loop do
  XXXX
end
在里面都会有个跳出循环的分歧
那就是
if $scene != self
  break
end啦

当$scene不等于当前的类后...比如变成了Scene_Map
因为循环中断后跳回到了Main那里去
又因为
while $scene != nil
  $scene.main
end
所以现在又开始运行Scene_Map的main方法了
......


大概来说.....
main之所以叫main是因为在Main那里有这样一句
while $scene != nil
  $scene.main
end

[/quote]



[quote]update刷新一般在什么情况下会用到呢?


loop do
  XXX
  YYY
  update
end
loop 就是如果不中断就一直循环里的内容
默认的每个循环里都有update这个方法........[/quote]



[quote].dispose释放是什么意思呢?它是使用在update的前面还是后面呢?一般是什么地方使用?

就比如说场景处于菜单的时候回到地图``就肯定要把窗口什么的都释放掉吧`..orz[/quote]





[quote]-------------------------------------------------------------------------------
比如:
class Window_1
def main
    @window_1=Window_1.new
上面的@window_1=Window_1.new 这一句是什么意思呢?为什么要写成@window_1=Window_1.new 呢?如果写成@wwwwww=Window_1.new 可以吗?为什么呢?


@window_1-________-只是一个变量而已...叫啥有关系吗.....???[/quote]


[quote]-------------------------------------------------------------------------------
地图事件中的第3页的脚本和F11的脚本有什么区别吗?

有``如果在事件里的脚本里写的话他还要通过Interpreter这个类的处理然后eval..
而写在F11里的话会少一些处理[/quote]


[quote]外挂脚本里在事件脚本中写的$scene = XXXX_XXXX.new意思是调查此事件时调出XXXX_XXXX
的场景,
那么有没有$game = XXXX_XXXX.new这样的写法呢?如果有,是什么意思呢?

有...囧....不解释....[/quote]


[quote]-------------------------------------------------------------------------------
为什么主循环都要是这样的格式呢?缺少里面其中一样可以吗?为什么?
   loop do
     # 刷新游戏画面
     Graphics.update
     # 刷新输入信息
     Input.update
     # 刷新画面情报
     update
     # 如果画面被切换的话就中断循环
     if $scene != self
       break
     end
   end
  
请参考第二个回答   [/quote]
   
   
[quote]-------------------------------------------------------------------------------
有的类里定义了很多个def方法  这些方法都只能在这个类里使用吗?

不.比如
class Yuu
  def orz
    return 'orz'
  end
end

class FF
  def initialize
    @yuu = Yuu.new
  end
  def orz
    return @yuu.orz * 2
  end
end

print FF.new.orz
[/quote]

[quote]只能在class
     end之间使用呢还是class里面的任何地方包括def里在调用其他def方法或者一个if条件分歧里也可以调用这些方法吗?
这些方法如果在别的类里可以调用吗?

没看明白@ @![/quote]

[quote]子类可以调用父类里的def方法吗?

可以
[/quote]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
-.-
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

圣魔

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-12
帖子
3395
4
发表于 2007-9-6 02:45:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-7-4
帖子
69
5
 楼主| 发表于 2007-9-6 03:03:28 | 只看该作者
    # 刷新输入信息
    Input.update
这一句是用在什么情况下的,是不是类似主站里一个事件自制菜单里的循环里面加入当按下某某键的时候这样的条件分歧的时候来刷新的,还是其他的,希望举例说明下。
学习脚本中~~~~~~~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

圣魔

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-1-12
帖子
3395
6
发表于 2007-9-6 03:05:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
9 小时
注册时间
2006-7-4
帖子
69
7
 楼主| 发表于 2007-9-6 03:08:58 | 只看该作者
有的脚本里首先就是初始化,然后才主处理,而有的直接就主处理,
如过我先写了主处理后,在写初始化,会出错吗?
学习脚本中~~~~~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-22 20:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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