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

Project1

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

教你写脚本[1]

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2007-12-22
帖子
102
跳转到指定楼层
1
发表于 2008-10-21 05:10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
咳咳…………现在开课…………


主要目的:写一个画面脚本。
难度系数:高。


写一个画面脚本主要是可以调用,那好,我们先打一个框架。
#==============================================================================
# ■ Scene_Xsdygjb
#------------------------------------------------------------------------------
#  这是新手做的第一个画面脚本。
#==============================================================================

class Scene_Xsdygjb
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
  end
end



但光是那样也看不出什么,那我们就加个窗口把。
#==============================================================================
# ■ Scene_Xsdygjb
#------------------------------------------------------------------------------
#  这是新手做的第一个画面脚本。
#==============================================================================

class Scene_Xsdygjb
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 生成信息窗口
    @message_window = Window_Message.new
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放信息窗口
    @message_window.dispose
  end
end



这样子也看不什么,别着急,我们接着写。
#==============================================================================
# ■ Scene_Xsdygjb
#------------------------------------------------------------------------------
#  这是新手做的第一个画面脚本。
#==============================================================================

class Scene_Xsdygjb
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     dyck       : 是从那个脚本调用过来的
  #--------------------------------------------------------------------------
  def initialize(dyck = Scene_Map.new)
    # 变成可用话
    @dyck = dyck
  end
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 生成信息窗口
    @message_window = Window_Message.new
    # 生成命令窗口
    s1 = "看介绍"
    s2 = "不看了"
    @command_window = Window_Command.new(3 * 32, [s1, s2])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    # 需要显示的介绍
    @xysdjs = "这是新手做的第一的画面脚本!"
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放信息窗口
    @message_window.dispose
    # 释放命令窗口
    @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新信息窗口
    @message_window.update
    # 显示信息窗口中的情况下
    if $game_temp.message_window_showing
      # 取消继续
      return
    end
    # 刷新命令窗口
    @command_window.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置的分支
      case @command_window.index
      when 0  # 看介绍
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 显示介绍
        $game_temp.message_text = "#{@xysdjs}"
      when 1  # 不看了
        # 演奏取消 SE
        $game_system.se_play($data_system.cancel_se)
        # 切换的地图画面
        $scene = @dyck
      end
      # 取消继续
      return
    end
  end
end



哎呀,终于写完了,这下你可以分享你的成果了,在事件中使用脚本$scene = Scene_Xsdygjb.new,自己看看把。


我是初次写教学帖子的请多多指教,谢谢了,拜拜…………

a.a~

Lv1.梦旅人

笑问情缘

梦石
0
星屑
73
在线时间
238 小时
注册时间
2006-5-3
帖子
640
2
发表于 2008-10-21 05:18:55 | 只看该作者
两个字:不懂
四个字:一头雾水
建议:从最简单的开始,脚本初学者就是不知从哪入门,就像偶!
     语句、判断式一堆,没有收到效果,关键是认清每个语句、判断式的意思和具体用法实例,楼主如能有此耐心,实乃我辈福音!
你是我生命历程的那颗北极星,
只要有你在,我的人生才有方向。
我的QQ:269167760(雨后晨曦)
问情工作室:3366504(群号)
拉轰风云贴吧:http://tieba.baidu.com/f?kw=拉轰风云
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
15
在线时间
0 小时
注册时间
2008-10-19
帖子
2
3
发表于 2008-10-31 01:14:09 | 只看该作者
糨糊!!!!!!!!!!!!!!!{/kuk}
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

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

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-24
帖子
25
5
发表于 2008-10-31 03:07:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
6
发表于 2008-10-31 03:19:40 | 只看该作者
以下引用Denis于2008-10-20 21:18:55的发言:

两个字:不懂
四个字:一头雾水
[本贴由作者于 2008-10-20 21:26:50 最后编辑]


先引用一下

对于这种教学帖,首先要有一个定位
1,让别人掌握知识
2,开拓学者的思路

   首先,你没有做热身运动,比如"@message_window = Window_Message.new"是什么意思?为什么放在这里?前面那个@是干什么用的?这些你都没有告诉别人.
   然后,你的脚本是干什么的?也没有一个说明

对于新手来说:没有一个详细注释的脚本,他们是看不懂的.
对于我来说:一个复制scece_menu的脚本,到底有什么意义呢?





回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-12-16
帖子
102
7
发表于 2008-10-31 03:24:55 | 只看该作者

以下引用Denis于2008-10-20 21:18:55的发言:

两个字:不懂
四个字:一头雾水
[本贴由作者于 2008-10-20 21:26:50 最后编辑]
以下引用sizz123于2008-10-30 19:19:40的发言:
先引用一下

对于这种教学帖,首先要有一个定位
1,让别人掌握知识
2,开拓学者的思路

  首先,你没有做热身运动,比如"@message_window = Window_Message.new"是什么意思?为什么放在这里?前面那个@是干什么用的?这些你都没有告诉别人.
  然后,你的脚本是干什么的?也没有一个说明

对于新手来说:没有一个详细注释的脚本,他们是看不懂的.
对于我来说:一个复制scece_menu的脚本,到底有什么意义呢?

不厚道的引用
话说,我也是“新手”
但,对于那些新手来说
LS说的话有道理。
那些新手针对
"@message_window = Window_Message.new"
可能会提出:
“为什么要在前面加‘@’?”
“请问这句话有什么意义呢?”
“..."
"..."
[fly]囧囧囧囧囧囧囧囧囧囧[/fly]
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-5
帖子
35
8
发表于 2009-7-28 19:21:57 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
帖子
745
9
发表于 2009-7-28 19:26:28 | 只看该作者
改标题,教人创建窗口吧:(以及窗口的处理
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

10
发表于 2009-7-28 19:28:43 | 只看该作者
总觉得等于什么也没讲……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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