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

Project1

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

[已经过期] 实验了无数次,仍然不知道该如何看预设脚本,无可奈何了

[复制链接]

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
跳转到指定楼层
1
发表于 2013-8-29 16:03:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 a554187203 于 2013-8-29 16:08 编辑

崩溃了...
彻彻底底的被预设脚本打败了
我做过了几个笔记,为了彻底了解预设脚本在做什么
但是...我只想说,呵呵
下面是我写的几个笔记,我慢慢的放上来,你们随意看看(ps·因为每一次写新笔记都删除原有笔记,所以我看一段代码简直看了五十遍啊...哭)
  1. 此笔记主要是从main开始阅读整个脚本流程
  2. 为了解决繁琐的跳转问题,采用逐句讲解
  3. 不设有说明
  4. 【Main】——定义结束后开始实际处理的类
  5. 13.   $scene = Scene_Title.new ——新建了一个实例,  # 生成场景对像 (标题画面)
  6. 15.  while $scene != nil——若该全局变量不为空,则不断执行该句下方的内容   # $scene 为有效的情况下调用 main 过程
  7. 16.    $scene.main——由于是Scene_Title的实例,于是跳转到Scene_Title类查看main方法
  8. 【Scene_Title】
  9. 11. def main ——方法main
  10. 13.    if $BTEST ——该变量是否为空或者是nil,如果不是,则执行下方内容    # 战斗测试的情况下
  11.       battle_test ——调用方法battle_test
  12. 175.def    battle_test——战斗测试
  13. 177——189.
  14.     $data_actors        = load_data("Data/BT_Actors.rxdata") ——读取数据库内容(战斗测试用),下同
  15.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  16.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  17.     $data_items         = load_data("Data/BT_Items.rxdata")
  18.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  19.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  20.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  21.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  22.     $data_states        = load_data("Data/BT_States.rxdata")
  23.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  24.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  25.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  26.     $data_system        = load_data("Data/BT_System.rxdata") ——同上
  27. 191.    Graphics.frame_count = 0  ——是画面更新次数的计数。游戏开始时这个属性预先设定为 0 # 重置测量游戏时间用的画面计数器
  28. 193——203.
  29.     $game_temp          = Game_Temp.new ——生成各类的对象,下同
  30.     $game_system        = Game_System.new
  31.     $game_switches      = Game_Switches.new
  32.     $game_variables     = Game_Variables.new
  33.     $game_self_switches = Game_SelfSwitches.new
  34.     $game_screen        = Game_Screen.new
  35.     $game_actors        = Game_Actors.new
  36.     $game_party         = Game_Party.new
  37.     $game_troop         = Game_Troop.new
  38.     $game_map           = Game_Map.new
  39.     $game_player        = Game_Player.new ——同上
  40. 204.    $game_party.setup_battle_test_members ——跳转到所属类的方法# 设置战斗测试用同伴
  41. 【Game_Party】
  42. 41.  def setup_battle_test_members—— # ● 设置战斗测试用同伴
复制代码
RUBY 代码复制
  1. #主处理
  2.   def main
  3.     # 战斗测试的情况下
  4.     if $BTEST  ——这个开关应该是内部的开关,表示战斗测试
  5.       battle_test  ——执行本类的方法battle_test
  6.       return
  7.     end
  8.     # 载入数据库
  9.     $data_actors        = load_data("Data/Actors.rxdata")  ——从数据库读取了变量
  10.     $data_classes       = load_data("Data/Classes.rxdata")
  11.     $data_skills        = load_data("Data/Skills.rxdata")
  12.     $data_items         = load_data("Data/Items.rxdata")
  13.     $data_weapons       = load_data("Data/Weapons.rxdata")
  14.     $data_armors        = load_data("Data/Armors.rxdata")
  15.     $data_enemies       = load_data("Data/Enemies.rxdata")
  16.     $data_troops        = load_data("Data/Troops.rxdata")
  17.     $data_states        = load_data("Data/States.rxdata")
  18.     $data_animations    = load_data("Data/Animations.rxdata")
  19.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  20.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  21.     $data_system        = load_data("Data/System.rxdata")
  22.     # 生成系统对像
  23.     $game_system = Game_System.new  ——生成了一个对象,是game_system类的对象
  24.     # 生成标题图形
  25.     @sprite = Sprite.new  ——生成了一个精灵的对象
  26.     @sprite.bitmap = RPG::Cache.title($data_system.title_name) ——将此精灵的bitmap属性赋值
  27. ——$data_system.title_name是标题图像的文件名,数据来自数据库
  28. ——rpg::cache.title是模块方法,取得标题图像
  29.     # 生成命令窗口
  30.     s1 = "新游戏"
  31.     s2 = "继续"
  32.     s3 = "退出"
  33.     @command_window = Window_Command.new(192, [s1, s2, s3])  ——新建了一个window_command类的对象
  34.     @command_window.back_opacity = 160  ——使用该对象的方法,下两句同
  35.     @command_window.x = 320 - @command_window.width / 2
  36.     @command_window.y = 288
  37.     # 判定继续的有效性
  38.     # 存档文件一个也不存在的时候也调查
  39.     # 有効为 @continue_enabled 为 true、无效为 false
  40.     @continue_enabled = false ——设置一个开关,为伪
  41.     for i in 0..3  ——循环四次
  42.       if FileTest.exist?("Save#{i+1}.rxdata")  ——检测文件是否存在,存在就返回真
  43.         @continue_enabled = true  ——将变量设置为真
  44.       end
  45.     end
  46.     # 继续为有效的情况下、光标停止在继续上
  47.     # 无效的情况下、继续的文字显示为灰色
  48.     if @continue_enabled  ——若是该变量为真
  49.       @command_window.index = 1  ——设置@command_window的index = 方法,参数为1
  50.     else ——否则
  51.       @command_window.disable_item(1)  ——使用该变量的disble_item(1)方法
  52.     end
  53.     # 演奏标题 BGM
  54.     $game_system.bgm_play($data_system.title_bgm)  ——使用$game_system的方法bgm_play
  55. ——$data_system.title_bgm 是标题bgm的数据
  56.     # 停止演奏 ME、BGS
  57.     Audio.me_stop ——模块方法,停止me的播放
  58.     Audio.bgs_stop ——停止bgm的播放
  59.     # 执行过渡
  60.     Graphics.transition  ——执行过度
  61.     # 主循环
  62.     loop do
  63.       # 刷新游戏画面
  64.       Graphics.update ——更新游戏画面,前进一帧的时间
  65.       # 刷新输入信息
  66.       Input.update  ——更新输入信息,原则上一帧调用一次
  67.       # 刷新画面
  68.       update ——执行本类方法
  69.       # 如果画面被切换就中断循环
  70.       if $scene != self  ——如果$scene != self
  71.         break ——中断循环
  72.       end
  73.     end
  74.     # 装备过渡
  75.     Graphics.freeze ——准备过度
  76.     # 释放命令窗口
  77.     @command_window.dispose ——使用方法
  78.     # 释放标题图形
  79.     @sprite.bitmap.dispose  ——使用方法,这里的变量时内部类精灵的对象,精灵的bitmap属性是位图,使用位图的方法,释放掉位图
  80.     @sprite.dispose ——使用方法,释放掉精灵
  81.   end

RUBY 代码复制
  1. 借用@command_window = Window_Command.new(192, [s1, s2, s3]) 来解剖这个方法
  2. 【window_command】
  3. def initialize(width, commands)接收了两个参数,分别是192 以及 数组
  4. 其中的
  5. super(0, 0, width, commands.size * 32 + 32) = 0,0,192, 3 * 32 + 32
  6. 这里的size方法是获取数组的长度
  7. 转到其父类的同名方法
  8. 1·Window_Selectable——def initialize(x, y, width, height)
  9. super(x,y,width,height)——接收了参数0,0,192,128
  10. 转到其父类的同名方法
  11. 2·Window_Base——  def initialize(x, y, width, height)
  12.   super() ——新建了一个window类的对象
  13.   @windowskin_name = $game_system.windowskin_name
  14. .windowskin_name获取了窗口皮肤图像的文件名,并把该值给了@windowskin_name
  15. @windowskin_name = 窗口皮肤图像的文件名
  16. self.windowskin = RPG::Cache.windowskin(@windowskin_name)
  17. 这里的self是@command_window
  18. 这里的@windowskin_name是窗口皮肤的文件名
  19. RPG::Cache.windowskin是取得窗口皮肤图像
  20.     self.x = x
  21.     self.y = y
  22.     self.width = width
  23.     self.height = height
  24.     self.z = 100
  25. 设置@command_window的window对象的5个值xy坐标以及宽高,前四个从参数中读取,也就是0,0,192,128
  26. 【结束】
  27.     @item_max = 1
  28.     @column_max = 1
  29.     @index = -1
  30. 设置了三个实变量,并且赋值
  31. 【结束】
  32.     @item_max = commands.size
  33.     @commands = commands
  34. 接下来这两个语句
  35. @item_max = 3
  36. @commands = [s1,s2,s3]
  37. 然后self.contents = Bitmap.new(width - 32, @item_max * 32)语句
  38. 让@command_window的作为窗口内容显示的位图,宽高等于192-32,3*32

RUBY 代码复制
  1. @command_window = Window_Command.new(192, [s1, s2, s3]) ——新建了一个类
  2. 由于是command的类,我们查看它的方法
  3. 这里是注释● 初始化对像
  4.     width    : 窗口的宽
  5.     commands : 命令字符串序列
  6. 它的初始化方法  def initialize(width, commands) 等价于  def initialize(192, 【s1,s2,s3】)
  7. super(0, 0, width, commands.size * 32 + 32)等价于 0,0,192,字符串的长度也就是3 * 32+32 也就是128
  8. 转到command的父类 selectable拥有光标的移动以及滚动功能的窗口类。
  9. 不难看出,这行有两行的属性
  10.   attr_reader   :index                    # 光标位置
  11.   attr_reader   :help_window              # 帮助窗口
  12. 均为可读,不可写
  13. 转到初始化方法
  14.   def initialize(x, y, width, height)
  15.     super(x, y, width, height)  ——这一句又把 0,0,192,128 传递给了父类base
  16. base类做了什么
  17.   def initialize(x, y, width, height)
  18.   super()——执行了一遍父类window类的初始化方法
  19.      @windowskin_name = $game_system.windowskin_name
  20. 创建了一个类变量,它的内容是窗口皮肤图像的文件名
  21. self.windowskin = RPG::Cache.windowskin(@windowskin_name)
  22. self 也就是@command_window ——我们一开始创建的对象 它的windowskin是一个存储bitmap类的属性
  23. RPG::Cache.windowskin  ——取得窗口皮肤图像 @windowskin_name的内容是窗口皮肤图像的文件名
  24. 没有了这句话,窗口就没有图像了
  25. 后面的
  26.  
  27.     self.x = x x是0
  28.     self.y = y x是0
  29.     self.width = width  宽为192
  30.     self.height = height 高为128
  31.     self.z = 100  z坐标为100
  32. x
  33. 窗口的 X 座标。
  34. y
  35. 窗口的 Y 座标。
  36. width
  37. 窗口的宽度。
  38. height
  39. 窗口的高度。
  40. z
  41. 窗口背景的 Z 座标。该值大的东西显示在上面。Z 座标相同的话,则后生成的对象显示在上面。窗口内容的 Z 座标为窗口背景的 Z 座标的值加上 2
  42. base类结束,转回selectable类
  43.     @item_max = 1
  44.     @column_max = 1
  45.     @index = -1
  46. 设置了三个变量
  47. select~类结束
  48. @item_max = commands.size  刚刚的变量被赋值为3
  49. @commands = commands ——也就是数组[s1,s2,s3]
  50. self.contents = Bitmap.new(width - 32, @item_max * 32)   这里的两个值分别是 16096
  51. self修改父类属性contents作为窗口内容显示的位图(Bitmap)。
  52. refresh ——执行本类的方法
  53. 现在查看refresh方法   # ● 刷新 ——它究竟做了什么呢
  54.   self.contents.clear —— bitmap方法的清除位图全体。
  55.     for i in 0...@item_max 执行多少次,这里的变量的值是3,由于...是0到值-1 所以是02
  56.       draw_item(i, normal_color) 这一句话被执行了3次,i的值分别为0——2
  57. 【第一次的场合】
  58. draw_item(i,normal_color)——先看括号里的方法,来自base类
  59. def disabled_color
  60.     return Color.new(255, 255, 255, 255)
  61. end
  62. 返回了一个颜色的类,属性分别是红、绿、蓝色值,以及透明度
  63. 现在来看draw_item的方法
  64.   # ● 描绘项目
  65.   #     index : 项目编号
  66.   #     color : 文字色
  67.   def draw_item(index, color) ——接受参数 ,这里是0 和color的一个类(255,255,255,255)
  68. self.contents.font.color = color ——这里contents为窗口内容,是一个位图类,位图类的属性font是字体类,字体类的颜色被更改为 color
  69.     rect = Rect.new(4, 32 * index, self.contents.width - 8,32)
  70. 新建一个rect的新类 它的四个值分别是 x y 宽 高  值为 4,32 * index = 0,self.contents.width(取得位图的宽) 既是160 - 8 = 15232
  71. self.contents.fill_rect(rect, Color.new(0, 0,0,0))
  72. 以颜色填充这个矩形,不过由于四个值什么都没有,所以这句等于没有
  73.   self.contents.draw_text(rect, @commands[index])
  74. 在矩形之中描绘字符串(文本长度若是超过,则自动缩放60%) @commands的内容是[s1,s2,s3] 此刻是0
  75. 【第一次结束】
  76. 【第23次请参照第一次】
  77. refresh方法结束
  78.     self.index = 0  @command_windows开始执行index方法
  79. ● 设置光标的位置
  80.     index : 新的光标位置
  81.   def index=(index) 此处的index 是0
  82.    @index = index  = 0
  83.     if self.active and @help_window != nil  .active是光标的闪烁状态 而后面的@help此刻不知道数值为nil
  84. 于是此处的if不成立,不执行,跳过
  85.     update_cursor_rect ——执行方法
  86. if @index < 0 ——此刻的值为0,不成立,跳过
  87.    row = @index / @column_max   row等于 0 / 1 ,等于 0
  88.     if row < self.top_row row等于0,top_row是sele~类的方法 返还self.oy /32self.oy默认为0
  89. 0< 0为伪,这里也不执行,跳过
  90. if row > self.top_row+ (self.page_row_max - 1) 这里的方法top返还0  后面的返还(self.height - 32) / 32
  91. self.height128128 - 32 = 96   /32  = 3
  92. 这里的row 是0 而后面的是 2 所以这里也不执行,跳过
  93.     # 计算光标的宽度
  94.   cursor_width = self.width / @column_max - 32
  95. self.width192
  96. @column_max1
  97. cursor 是192 - 32 也就是 160
  98. x = @index % @column_max * (cursor_width + 32)
  99. @index0 对 column_max取余 为0 0乘以任何数都为0,不过还是看看括号中内容 160 +32
  100. y = @index / @column_max * 32 - self.oy
  101. @index0 0除以任何数都是0 0乘以32也是0 - self.oy = 0 ps·self.oy也返还0
  102.     # 更新光标矩形
  103.     self.cursor_rect.set(x, y, cursor_width, 32)
  104. cursor_rect ——光标的矩形 .set是设置矩形属性  x值为0 y值为0 第三个值为160 最后一个值为32
  105. 此方法结束
  106. index =  方法结束
  107. @command = window_command.new的方法结束 整个解读完
  108. 读完这个脚本,可以大致明白,这里就是创造了一整个窗口
  109. @command的后续处理也会在此处来说明
  110.   # ● 项目无效化
  111.   #     index : 项目编号
  112.   def disable_item(index)
  113.     draw_item(index, disabled_color)
  114.   end
  115. 简单,把项目的名字更改为灰色

RUBY 代码复制
  1. 【Game_Temp】——临时数据
  2. 新建一个类名Game_Temp
  3. 此类有45个实变量
  4. 在新建此类的对象时,分别会赋值
  5. 【game_system】——处理系统数据
  6. 首先新建了是变量,有两个的定义方法是attr_reader只拥有取得的方法
  7. 初始化对象
  8. 27.@map_interpreter = Interpreter.new(0, true)——新建了一个Interpreter类的实例
  9. 并且该实例的@depth=0 @main=true
  10. @battle_interpreter = Interpreter.new(0, false)——同上,不过main为伪
  11. (在Interpreter 中depth为事件的深度,而main为主标志)
  12. ( 在新建的同时,Interpreter调用了自己的方法clear,方法内容如下)
  13.     @timer = 0——实变量timer为0
  14.     @timer_working = false
  15.     @save_disabled = false
  16.     @menu_disabled = false
  17.     @message_position = 2
  18.     @message_frame = 0
  19.     @save_count = 0
  20.     @magic_number = 0
  21. 初始化对象完
  22. 43.方法bgm_play(bgm)    ——演奏bgm
  23. @playing_bgm = bgm
  24. if bgm != nil and bgm.name != "" ——条件分歧,and表示只要有一个是伪,就不执行下方内容
  25. Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
  26. 播放文件夹AUDIO/BGM下方bgm的名字的文件,分别表示文件名,音量,节拍
  27. 事实上,这三个bgm是参数——按照我的设想,应该是文件的名字
  28. else
  29. Audio.bgm_stop——停止播放bgm
  30. if完毕
  31. Graphics.frame_reset——重设画面的更新时间。调用该方法花费时间处理后,能避免严重的跳帧现象。
  32. end
  33. 55. def bgm_stop
  34.     Audio.bgm_stop ·停止bgm
  35. end
  36. 62.   def bgm_fade(time) ——bgm的淡出
  37.     @playing_bgm = nil ——将空加入变量 ,注意,此变量在前面出现过
  38.     Audio.bgm_fade(time * 1000) ——bgm的淡出,括号内单位为毫秒,一千毫秒为一秒
  39.   end
  40. 69.
  41. def bgm_memorize——记忆bgm
  42.     @memorized_bgm = @playing_bgm
  43.   end
  44. 75.
  45.   def bgm_restore——还原bgm
  46.     bgm_play(@memorized_bgm)——使用上面的bgm_play方法
  47.    end
  48. 下方的bgs几乎和上面的bgm一样,省略,都含有记忆、还原、淡出、演奏
  49. me的演奏和bgm和bgs的演奏一样
  50. se的演奏缺少了    Graphics.frame_reset ——意义目前未明
  51. 停止se和停止bgm一样
  52. 141.  
  53. def playing_bgm——获取演奏中的bgm
  54.     return @playing_bgm ——返回该变量的值
  55.   end
  56. 下方的获取bgs一样
  57. 153.   
  58. def windowskin_name——
  59. 获取窗口外观的文件名
  60.     if @windowskin_name == nil ——该变量为空则返回真
  61.       return $data_system.windowskin_name——data_system.是数据库的系统 windowskin_name是 窗口皮肤图像的文件名。
  62.     else
  63.       return @windowskin_name
  64.     end
  65.   end
  66. 164.  
  67. def windowskin_name=(windowskin_name)——设置窗口外观的文件名
  68.     @windowskin_name = windowskin_name ——应该是和上方内容联动
  69.   end
  70. 下方的战斗bgm是一样的,同样拥有设置和获取
  71. 下方的战斗结束bgm同样
  72. 204.
  73.   def update——刷新页面
  74.     # 计时器减 1
  75.     if @timer_working and @timer > 0 ——变量为nilfalse 为假,或者timer大于零为假
  76.       @timer -= 1 ——变量自减
  77.     end
  78.   end
  79.  
  80. 【Game_Switches】——获取开关的类
  81. 此类结构十分简单,所以不予说明
  82. 【Game_Variables】——处理变量的类,同上
  83. 【Game_SelfSwitches】处理独立开关的类,几乎和上面两个相同,但是是用hash表制作
  84. 要注意@data[key] == true ? true : false的阅读顺序
  85. (@data[key] == true )? true : false
  86. 【Game_Screen】——更改色调以及画面闪烁、保存画面全体关系处理数据的类。
  87. 初始化,2223调用了生成了tone类的实例,色彩平衡值(红绿蓝灰)
  88. 24将一个实变量设为0
  89. 25    @flash_color = Color.new(0, 0, 0, 0) 新建了一个实例
  90. 底下分别给一些实变量赋值
  91. 33.
  92.     for i in 1..100 ——依次将1100带入i
  93.       @pictures.push(Game_Picture.new(i)) ——.push是将内容代入数组末尾,后面则是新建一百个实例
  94. 在Game_Picture类的初始化中,@number(图片编号)分别为1100
  95.     end
  96.  
  97. 下方都是一些赋值
  98. 47.
  99.   def start_tone_change(tone, duration)   ——开始更改色调
  100.     @tone_target = tone.clone —— 生成tone的拷贝?并将拷贝的内容代入变量
  101.     @tone_duration = duration  ——参数代入
  102.     if @tone_duration == 0 ——如果等于0
  103.       @tone = @tone_target.clone ——拷贝一份到tone中
  104.     end
  105.   end
  106.  
  107. 54.
  108.   def start_flash(color, duration)——开始画面闪烁
  109.     @flash_color = color.clone
  110.     @flash_duration = duration
  111.   end
  112. 下方开始震动的结构和上方的几乎一样
  113. 99.
  114.   def update ——刷新画面
  115.     if @tone_duration >= 1
  116.       d = @tone_duration
  117.       @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
  118.       @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
  119.       @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
  120.       @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
  121.       @tone_duration -= 1
  122.     end
  123.     if @flash_duration >= 1
  124.       d = @flash_duration
  125.       @flash_color.alpha = @flash_color.alpha * (d - 1) / d
  126.       @flash_duration -= 1
  127.     end
  128.     if @shake_duration >= 1 or @shake != 0
  129.       delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
  130.       if @shake_duration <= 1 and @shake * (@shake + delta) < 0
  131.         @shake = 0
  132.       else
  133.         @shake += delta
  134.       end
  135.       if @shake > @shake_power * 2
  136.         @shake_direction = -1
  137.       end
  138.       if @shake < - @shake_power * 2
  139.         @shake_direction = 1
  140.       end
  141.       if @shake_duration >= 1
  142.         @shake_duration -= 1
  143.       end
  144.     end
  145.     if @weather_duration >= 1
  146.       d = @weather_duration
  147.       @weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
  148.       @weather_duration -= 1
  149.       if @weather_duration == 0
  150.         @weather_type = @weather_type_target
  151.       end
  152.     end
  153.     if $game_temp.in_battle
  154.       for i in 51..100
  155.         @pictures[i].update
  156.       end
  157.     else
  158.       for i in 1..50
  159.         @pictures[i].update
  160.       end
  161.     end
  162.   end

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

2
发表于 2013-8-29 16:07:55 | 只看该作者
写的不错啊
话说这些东西你应该发到水世界

点评

想知道自己哪里出了问题,因为总是感觉不对劲啊...  发表于 2013-8-29 16:25
想知道自己哪里出了问题,因为总是感觉不对劲啊...  发表于 2013-8-29 16:25

  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
3
发表于 2013-8-29 16:15:56 | 只看该作者
太长了看不下去了=-=
基本上没什么大问题啊,不过费劲去理解这些东西的用法的确是枯燥了点=-=
我倒是觉得将F1里面的语法多学一学记一记更好一些=-=当然不去尝试的话是不太可能学会
另外阁下可以从空白开始,想一想游戏运行需要哪些步骤,然后自己来设计,不懂的地方就对比一下默认脚本来看看它的设计方式,这种学习方法也是不错的=-=
好了加油喵呜~

点评

我已经丧心病狂了,真的删除了所有脚本,一行行的根据预设脚本来做...  发表于 2013-8-29 18:39

评分

参与人数 1星屑 +70 收起 理由
弗雷德 + 70 我很赞同

查看全部评分

我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
4
 楼主| 发表于 2013-8-29 16:33:14 | 只看该作者
无脑之人 发表于 2013-8-29 16:15
太长了看不下去了=-=
基本上没什么大问题啊,不过费劲去理解这些东西的用法的确是枯燥了点=-=
我倒是觉得将 ...

不是枯燥,而是读脚本的时候,总是会觉得有哪里不对劲,源自于变量,比如@a = xxx.new(数值,数值)
这些数值进行了什么处理,还要去看
然后,是不是要把这些写下来呢?
于是我写,写在了笔记里
越写越多,于是变得一团糟,笔记简直不能直视,因为脚本太跳跃了,往往跳着跳着就跳不回去了
而且其中出现的n多变量,又得一个个的看
后面用到了前面的变量,还不好找,谁知道那个变量是啥啊啊啊啊啊
不写,直接写一个新建了类? 那样又太简单了,以后用到某个方法,在方法里看,结果使用self或者是变量
谁知道前面变量是个什么值啊啊啊啊啊


我语言描述不好,反正总会出现各种问题,主要就是对变量进行操作...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

5
发表于 2013-8-29 16:34:01 | 只看该作者
想知道自己哪里出了问题,因为总是感觉不对劲啊...

哪有问题?哪有问题?哪有问题?接2L,因为直接编辑在2L估计你看不到

  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
帖子
2065
6
 楼主| 发表于 2013-8-29 16:34:19 | 只看该作者
无脑之人 发表于 2013-8-29 16:15
太长了看不下去了=-=
基本上没什么大问题啊,不过费劲去理解这些东西的用法的确是枯燥了点=-=
我倒是觉得将 ...

不是枯燥,而是读脚本的时候,总是会觉得有哪里不对劲,源自于变量,比如@a = xxx.new(数值,数值)
这些数值进行了什么处理,还要去看
然后,是不是要把这些写下来呢?
于是我写,写在了笔记里
越写越多,于是变得一团糟,笔记简直不能直视,因为脚本太跳跃了,往往跳着跳着就跳不回去了
而且其中出现的n多变量,又得一个个的看
后面用到了前面的变量,还不好找,谁知道那个变量是啥啊啊啊啊啊
不写,直接写一个新建了类? 那样又太简单了,以后用到某个方法,在方法里看,结果使用self或者是变量
谁知道前面变量是个什么值啊啊啊啊啊


我语言描述不好,反正总会出现各种问题,主要就是对变量进行操作...

点评

别光看 想知道变量是什么 p一下 想知道方法怎么用 运行一下 要心平气和 另外学脚本又不是一朝一夕的事情 急什么=-=  发表于 2013-8-29 16:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

梦石
1
星屑
2971
在线时间
1041 小时
注册时间
2013-8-9
帖子
2328

R考场第七期纪念奖开拓者

7
发表于 2013-8-29 16:53:37 手机端发表。 | 只看该作者
我是自己看F1,预设脚本有不懂得就全局搜索,这样能看懂大部分的脚本
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12795
在线时间
1456 小时
注册时间
2012-7-24
帖子
1302
8
发表于 2013-8-29 20:25:13 | 只看该作者
楼主真是神人,笔记做的真是很细致

欢迎大家加我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2013-8-10
帖子
25
9
发表于 2013-8-29 20:26:44 | 只看该作者
笔记已经做到如此详细了,还有什么不理解的……?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2013-2-8
帖子
424
10
发表于 2013-8-30 01:01:06 手机端发表。 | 只看该作者
有什么好看的,删了自己从头写。
记住执行完代码调用Graphics.update进入下一帧即可。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 13:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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