查看: 2918|回复: 10

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

[复制链接]

超级囧神 无尽的灌水

梦石
0
星屑
144
在线时间
784 小时
注册时间
2010-6-27
回帖
1859
发表于 2013-8-29 16:03:56 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 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—— # ● 设置战斗测试用同伴
复制代码
[pre lang="ruby" line="1"]#主处理
  def main
    # 战斗测试的情况下
    if $BTEST  ——这个开关应该是内部的开关,表示战斗测试
      battle_test  ——执行本类的方法battle_test
      return
    end
    # 载入数据库
    $data_actors        = load_data("Data/Actors.rxdata")  ——从数据库读取了变量
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # 生成系统对像
    $game_system = Game_System.new  ——生成了一个对象,是game_system类的对象
    # 生成标题图形
    @sprite = Sprite.new  ——生成了一个精灵的对象
    @sprite.bitmap = RPG::Cache.title($data_system.title_name) ——将此精灵的bitmap属性赋值
——$data_system.title_name是标题图像的文件名,数据来自数据库
——rpg::cache.title是模块方法,取得标题图像
    # 生成命令窗口
    s1 = "新游戏"
    s2 = "继续"
    s3 = "退出"
    @command_window = Window_Command.new(192, [s1, s2, s3])  ——新建了一个window_command类的对象
    @command_window.back_opacity = 160  ——使用该对象的方法,下两句同
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    # 判定继续的有效性
    # 存档文件一个也不存在的时候也调查
    # 有効为 @continue_enabled 为 true、无效为 false
    @continue_enabled = false ——设置一个开关,为伪
    for i in 0..3  ——循环四次
      if FileTest.exist?("Save#{i+1}.rxdata")  ——检测文件是否存在,存在就返回真
        @continue_enabled = true  ——将变量设置为真
      end
    end
    # 继续为有效的情况下、光标停止在继续上
    # 无效的情况下、继续的文字显示为灰色
    if @continue_enabled  ——若是该变量为真
      @command_window.index = 1  ——设置@command_window的index = 方法,参数为1
    else ——否则
      @command_window.disable_item(1)  ——使用该变量的disble_item(1)方法
    end
    # 演奏标题 BGM
    $game_system.bgm_play($data_system.title_bgm)  ——使用$game_system的方法bgm_play
——$data_system.title_bgm 是标题bgm的数据
    # 停止演奏 ME、BGS
    Audio.me_stop ——模块方法,停止me的播放
    Audio.bgs_stop ——停止bgm的播放
    # 执行过渡
    Graphics.transition  ——执行过度
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update ——更新游戏画面,前进一帧的时间
      # 刷新输入信息
      Input.update  ——更新输入信息,原则上一帧调用一次
      # 刷新画面
      update ——执行本类方法
      # 如果画面被切换就中断循环
      if $scene != self  ——如果$scene != self
        break ——中断循环
      end
    end
    # 装备过渡
    Graphics.freeze ——准备过度
    # 释放命令窗口
    @command_window.dispose ——使用方法
    # 释放标题图形
    @sprite.bitmap.dispose  ——使用方法,这里的变量时内部类精灵的对象,精灵的bitmap属性是位图,使用位图的方法,释放掉位图
    @sprite.dispose ——使用方法,释放掉精灵
  end[/pre]
[pre lang="ruby" line="1"]借用@command_window = Window_Command.new(192, [s1, s2, s3]) 来解剖这个方法
【window_command】
def initialize(width, commands)接收了两个参数,分别是192 以及 数组
其中的
super(0, 0, width, commands.size * 32 + 32) = 0,0,192, 3 * 32 + 32
这里的size方法是获取数组的长度
转到其父类的同名方法
【1·Window_Selectable——def initialize(x, y, width, height)】
super(x,y,width,height)——接收了参数0,0,192,128
转到其父类的同名方法
【2·Window_Base——  def initialize(x, y, width, height)】
  super() ——新建了一个window类的对象
  @windowskin_name = $game_system.windowskin_name
.windowskin_name获取了窗口皮肤图像的文件名,并把该值给了@windowskin_name
@windowskin_name = 窗口皮肤图像的文件名
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
这里的self是@command_window
这里的@windowskin_name是窗口皮肤的文件名
而RPG::Cache.windowskin是取得窗口皮肤图像
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
设置@command_window的window对象的5个值xy坐标以及宽高,前四个从参数中读取,也就是0,0,192,128
【结束】
    @item_max = 1
    @column_max = 1
    @index = -1
设置了三个实变量,并且赋值
【结束】
    @item_max = commands.size
    @commands = commands
接下来这两个语句
让
@item_max = 3
@commands = [s1,s2,s3]
然后self.contents = Bitmap.new(width - 32, @item_max * 32)语句
让@command_window的作为窗口内容显示的位图,宽高等于192-32,3*32[/pre]
[pre lang="ruby" line="1"]  @command_window = Window_Command.new(192, [s1, s2, s3]) ——新建了一个类
由于是command的类,我们查看它的方法
这里是注释● 初始化对像
    width    : 窗口的宽
    commands : 命令字符串序列
它的初始化方法  def initialize(width, commands) 等价于  def initialize(192, 【s1,s2,s3】)
super(0, 0, width, commands.size * 32 + 32)等价于 0,0,192,字符串的长度也就是3 * 32+32 也就是128
转到command的父类 selectable拥有光标的移动以及滚动功能的窗口类。
不难看出,这行有两行的属性
  attr_reader   :index                    # 光标位置
  attr_reader   :help_window              # 帮助窗口
均为可读,不可写
转到初始化方法
  def initialize(x, y, width, height)
    super(x, y, width, height)  ——这一句又把 0,0,192,128 传递给了父类base
base类做了什么
  def initialize(x, y, width, height)
  super()——执行了一遍父类window类的初始化方法
     @windowskin_name = $game_system.windowskin_name
创建了一个类变量,它的内容是窗口皮肤图像的文件名
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self 也就是@command_window ——我们一开始创建的对象 它的windowskin是一个存储bitmap类的属性
RPG::Cache.windowskin  ——取得窗口皮肤图像 @windowskin_name的内容是窗口皮肤图像的文件名
没有了这句话,窗口就没有图像了
后面的

    self.x = x x是0
    self.y = y x是0
    self.width = width  宽为192
    self.height = height 高为128
    self.z = 100  z坐标为100
x
窗口的 X 座标。
y
窗口的 Y 座标。
width
窗口的宽度。
height
窗口的高度。
z
窗口背景的 Z 座标。该值大的东西显示在上面。Z 座标相同的话,则后生成的对象显示在上面。窗口内容的 Z 座标为窗口背景的 Z 座标的值加上 2。
base类结束,转回selectable类
    @item_max = 1
    @column_max = 1
    @index = -1
设置了三个变量
select~类结束
@item_max = commands.size  刚刚的变量被赋值为3
@commands = commands ——也就是数组[s1,s2,s3]
self.contents = Bitmap.new(width - 32, @item_max * 32)   这里的两个值分别是 160 ,96
self修改父类属性contents作为窗口内容显示的位图(Bitmap)。
refresh ——执行本类的方法
现在查看refresh方法   # ● 刷新 ——它究竟做了什么呢
  self.contents.clear —— bitmap方法的清除位图全体。
    for i in 0...@item_max 执行多少次,这里的变量的值是3,由于...是0到值-1 所以是0到 2
      draw_item(i, normal_color) 这一句话被执行了3次,i的值分别为0——2
【第一次的场合】
draw_item(i,normal_color)——先看括号里的方法,来自base类
def disabled_color
    return Color.new(255, 255, 255, 255)
end
返回了一个颜色的类,属性分别是红、绿、蓝色值,以及透明度
现在来看draw_item的方法
  # ● 描绘项目
  #     index : 项目编号
  #     color : 文字色
  def draw_item(index, color) ——接受参数 ,这里是0 和color的一个类(255,255,255,255)
self.contents.font.color = color ——这里contents为窗口内容,是一个位图类,位图类的属性font是字体类,字体类的颜色被更改为 color
    rect = Rect.new(4, 32 * index, self.contents.width - 8,32)
新建一个rect的新类 它的四个值分别是 x y 宽 高  值为 4,32 * index = 0,self.contents.width(取得位图的宽) 既是160 - 8 = 152, 32
self.contents.fill_rect(rect, Color.new(0, 0,0,0))
以颜色填充这个矩形,不过由于四个值什么都没有,所以这句等于没有
  self.contents.draw_text(rect, @commands[index])
在矩形之中描绘字符串(文本长度若是超过,则自动缩放60%) @commands的内容是[s1,s2,s3] 此刻是0
【第一次结束】
【第2、3次请参照第一次】
refresh方法结束
    self.index = 0  @command_windows开始执行index方法
● 设置光标的位置
    index : 新的光标位置
  def index=(index) 此处的index 是0
   @index = index  = 0
    if self.active and @help_window != nil  .active是光标的闪烁状态 而后面的@help此刻不知道数值为nil
于是此处的if不成立,不执行,跳过
    update_cursor_rect ——执行方法
if @index < 0 ——此刻的值为0,不成立,跳过
   row = @index / @column_max   row等于 0 / 1 ,等于 0
    if row < self.top_row row等于0,top_row是sele~类的方法 返还self.oy /32 (self.oy默认为0)
0< 0为伪,这里也不执行,跳过
if row > self.top_row+ (self.page_row_max - 1) 这里的方法top返还0  后面的返还(self.height - 32) / 32
self.height 是128 ,128 - 32 = 96   /32  = 3
这里的row 是0 而后面的是 2 所以这里也不执行,跳过
    # 计算光标的宽度
  cursor_width = self.width / @column_max - 32
self.width是192
@column_max是1
cursor 是192 - 32 也就是 160
x = @index % @column_max * (cursor_width + 32)
@index为0 对 column_max取余 为0 0乘以任何数都为0,不过还是看看括号中内容 160 +32
y = @index / @column_max * 32 - self.oy
@index 是0 0除以任何数都是0 0乘以32也是0 - self.oy = 0 ps·self.oy也返还0
    # 更新光标矩形
    self.cursor_rect.set(x, y, cursor_width, 32)
cursor_rect ——光标的矩形 .set是设置矩形属性  x值为0 y值为0 第三个值为160 最后一个值为32
此方法结束
index =  方法结束
@command = window_command.new的方法结束 整个解读完
读完这个脚本,可以大致明白,这里就是创造了一整个窗口
@command的后续处理也会在此处来说明
  # ● 项目无效化
  #     index : 项目编号
  def disable_item(index)
    draw_item(index, disabled_color)
  end
简单,把项目的名字更改为灰色
[/pre]
[pre lang="ruby" line="1"]【Game_Temp】——临时数据
新建一个类名Game_Temp
此类有45个实变量
在新建此类的对象时,分别会赋值
【game_system】——处理系统数据
首先新建了是变量,有两个的定义方法是attr_reader只拥有取得的方法
初始化对象
27.@map_interpreter = Interpreter.new(0, true)——新建了一个Interpreter类的实例
并且该实例的@depth=0 @main=true
@battle_interpreter = Interpreter.new(0, false)——同上,不过main为伪
(在Interpreter 中depth为事件的深度,而main为主标志)
( 在新建的同时,Interpreter调用了自己的方法clear,方法内容如下)
    @timer = 0——实变量timer为0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @message_position = 2
    @message_frame = 0
    @save_count = 0
    @magic_number = 0
初始化对象完
43.方法bgm_play(bgm)    ——演奏bgm
@playing_bgm = bgm
if bgm != nil and bgm.name != "" ——条件分歧,and表示只要有一个是伪,就不执行下方内容
Audio.bgm_play("Audio/BGM/" + bgm.name, bgm.volume, bgm.pitch)
播放文件夹AUDIO/BGM下方bgm的名字的文件,分别表示文件名,音量,节拍
事实上,这三个bgm是参数——按照我的设想,应该是文件的名字
else
Audio.bgm_stop——停止播放bgm
if完毕
Graphics.frame_reset——重设画面的更新时间。调用该方法花费时间处理后,能避免严重的跳帧现象。
end
55. def bgm_stop
    Audio.bgm_stop ·停止bgm
end
62.   def bgm_fade(time) ——bgm的淡出
    @playing_bgm = nil ——将空加入变量 ,注意,此变量在前面出现过
    Audio.bgm_fade(time * 1000) ——bgm的淡出,括号内单位为毫秒,一千毫秒为一秒
  end
69.
def bgm_memorize——记忆bgm
    @memorized_bgm = @playing_bgm
  end
75.
  def bgm_restore——还原bgm
    bgm_play(@memorized_bgm)——使用上面的bgm_play方法
   end
下方的bgs几乎和上面的bgm一样,省略,都含有记忆、还原、淡出、演奏
me的演奏和bgm和bgs的演奏一样
se的演奏缺少了    Graphics.frame_reset ——意义目前未明
停止se和停止bgm一样
141.  
def playing_bgm——获取演奏中的bgm
    return @playing_bgm ——返回该变量的值
  end
下方的获取bgs一样
153.   
def windowskin_name——
获取窗口外观的文件名
    if @windowskin_name == nil ——该变量为空则返回真
      return $data_system.windowskin_name——data_system.是数据库的系统 windowskin_name是 窗口皮肤图像的文件名。
    else
      return @windowskin_name
    end
  end
164.  
def windowskin_name=(windowskin_name)——设置窗口外观的文件名
    @windowskin_name = windowskin_name ——应该是和上方内容联动
  end
下方的战斗bgm是一样的,同样拥有设置和获取
下方的战斗结束bgm同样
204.
  def update——刷新页面
    # 计时器减 1
    if @timer_working and @timer > 0 ——变量为nil或false 为假,或者timer大于零为假
      @timer -= 1 ——变量自减
    end
  end

【Game_Switches】——获取开关的类
此类结构十分简单,所以不予说明
【Game_Variables】——处理变量的类,同上
【Game_SelfSwitches】处理独立开关的类,几乎和上面两个相同,但是是用hash表制作
要注意@data[key] == true ? true : false的阅读顺序
(@data[key] == true )? true : false
【Game_Screen】——更改色调以及画面闪烁、保存画面全体关系处理数据的类。
初始化,22、23调用了生成了tone类的实例,色彩平衡值(红绿蓝灰)
24将一个实变量设为0
25    @flash_color = Color.new(0, 0, 0, 0) 新建了一个实例
底下分别给一些实变量赋值
33.
    for i in 1..100 ——依次将1到100带入i
      @pictures.push(Game_Picture.new(i)) ——.push是将内容代入数组末尾,后面则是新建一百个实例
在Game_Picture类的初始化中,@number(图片编号)分别为1到100
    end

下方都是一些赋值
47.
  def start_tone_change(tone, duration)   ——开始更改色调
    @tone_target = tone.clone —— 生成tone的拷贝?并将拷贝的内容代入变量
    @tone_duration = duration  ——参数代入
    if @tone_duration == 0 ——如果等于0
      @tone = @tone_target.clone ——拷贝一份到tone中
    end
  end

54.
  def start_flash(color, duration)——开始画面闪烁
    @flash_color = color.clone
    @flash_duration = duration
  end
下方开始震动的结构和上方的几乎一样
99.
  def update ——刷新画面
    if @tone_duration >= 1
      d = @tone_duration
      @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
      @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
      @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
      @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
      @tone_duration -= 1
    end
    if @flash_duration >= 1
      d = @flash_duration
      @flash_color.alpha = @flash_color.alpha * (d - 1) / d
      @flash_duration -= 1
    end
    if @shake_duration >= 1 or @shake != 0
      delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
      if @shake_duration <= 1 and @shake * (@shake + delta) < 0
        @shake = 0
      else
        @shake += delta
      end
      if @shake > @shake_power * 2
        @shake_direction = -1
      end
      if @shake < - @shake_power * 2
        @shake_direction = 1
      end
      if @shake_duration >= 1
        @shake_duration -= 1
      end
    end
    if @weather_duration >= 1
      d = @weather_duration
      @weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
      @weather_duration -= 1
      if @weather_duration == 0
        @weather_type = @weather_type_target
      end
    end
    if $game_temp.in_battle
      for i in 51..100
        @pictures.update
      end
    else
      for i in 1..50
        @pictures.update
      end
    end
  end[/pre]
梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2013-8-29 16:07:55 | 显示全部楼层
写的不错啊
话说这些东西你应该发到水世界

点评

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

  -fk: -azogi:
回复

使用道具 举报

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

点评

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

评分

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

查看全部评分

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

使用道具 举报

超级囧神 无尽的灌水

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

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


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

使用道具 举报

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

开拓者

发表于 2013-8-29 16:34:01 | 显示全部楼层
想知道自己哪里出了问题,因为总是感觉不对劲啊...

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

  -fk: -azogi:
回复

使用道具 举报

超级囧神 无尽的灌水

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

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


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

点评

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

使用道具 举报

梦石
1
星屑
4152
在线时间
1211 小时
注册时间
2013-8-9
回帖
2353

极短28评委R考场第七期纪念奖开拓者

发表于 2013-8-29 16:53:37 来自手机 | 显示全部楼层
我是自己看F1,预设脚本有不懂得就全局搜索,这样能看懂大部分的脚本
回复

使用道具 举报

梦石
0
星屑
15085
在线时间
1582 小时
注册时间
2012-7-24
回帖
1246
发表于 2013-8-29 20:25:13 | 显示全部楼层
楼主真是神人,笔记做的真是很细致

欢迎大家加我
回复

使用道具 举报

梦石
0
星屑
50
在线时间
24 小时
注册时间
2013-8-10
回帖
25
发表于 2013-8-29 20:26:44 | 显示全部楼层
笔记已经做到如此详细了,还有什么不理解的……?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
466 小时
注册时间
2013-2-8
回帖
420
发表于 2013-8-30 01:01:06 来自手机 | 显示全部楼层
有什么好看的,删了自己从头写。
记住执行完代码调用Graphics.update进入下一帧即可。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部