Project1

标题: 脚本学习遇到瓶颈,迷茫,求指点,不胜感激!!! [打印本页]

作者: wgr273    时间: 2013-11-10 12:13
标题: 脚本学习遇到瓶颈,迷茫,求指点,不胜感激!!!
本帖最后由 wgr273 于 2013-11-22 13:21 编辑

你好,我是RPG学习上的新手{:2_264:} ,简单的RPG游戏制作已经掌握了,但是更想学习脚本,制作自己想要的那种游戏,我看了很多的网页跟论坛还有教材,包括RUBY学习里面的所以内容、帮助里的所有内容{:2_283:} ,也知道类跟方法,但是还是看不懂RMXP里面的脚本的逻辑,真是看不懂{:2_265:} ,也逻辑不清,{:2_270:} 我应该怎样学习才能像你们一样自己看懂脚本并能写出自己长长的脚本而又思路清晰呢?哪位大侠能给我或者像我一样遇到瓶颈、迷茫的人指条明路,{:2_268:} 不胜感谢!!!
作者: 熊喵酱    时间: 2013-11-10 12:18
剛開始寫小腳本就是把原本的定義重新定義以達成自己所需要的效果
然後你不說什麼地方有問題只弄了一推煩人的表情符號我也不知道從哪開始..
作者: guoxiaomi    时间: 2013-11-10 13:17
我理解XP的逻辑时,先看Window类知道窗口及内容的绘制方法,再看Game_Map类,再是Scene_Map、Scene_Battle、Interpreter。慢慢来就容易理解了,LZ貌似没有编程基础吧?没有的话可以先下载RUBY试试编几个小程序适应RUBY的语法~我一开始也是在自己胡乱摸索,后来一怒之下开始学RUBY~掌握RUBY基础后再研究RGSS就只是时间问题了
作者: wolves    时间: 2013-11-10 14:58
偶也是初学者,我在看这个,看看能不能帮上忙。。。

RMXP脚本——Ruby的语法.zip

82.8 KB, 下载次数: 92


作者: chd114    时间: 2013-11-10 16:49
请善用RMXP内嵌的F1的Ruby手册
作者: 恐惧剑刃    时间: 2013-11-10 16:53
请戳我的签名有教程
作者: 无脑之人    时间: 2013-11-10 19:29
编程思想的产生->Ruby语法的学习->面向对象编程的学习->完毕
这算是对毫无基础的人最快的路线了吧?算法还有其他语言的特性什么的随便了- -
作者: 774741359    时间: 2013-11-11 23:30
这个嘛,我和3L差不多。
先学会的Window,后来学会的Scene,然后Game,最后Sprite,Spriteset,最后就是F1里面的那些东东了。(← 后面的那些,RPG类)
作者: yagami    时间: 2013-11-11 23:53
其实学习下C++ 然后再回来看RUBY 很多东西都豁然开朗了 还能深刻体会到RUBY得便利性
作者: myownroc    时间: 2013-11-11 23:59
本人经历:
main->Scene->Window->Game->Sprite->Interpreter->Data
作者: 尽头君    时间: 2013-11-12 21:35
它的Main里主要是用来循环$scene的
  1. while $scene != nil # 当 $scene 不为空时
  2.   $scene.main # 调用其main方法
  3. end
复制代码
然后每个Scene_的main都有一个loop do循环来处理游戏信息
我就简单概括一下一些Scene处理了哪些内容

Scene_Title 标题画面
>加载rxdata数据库
>创建背景精灵
>创建命令窗口
>循环
>刷新命令窗口
  >新游戏
   >创建各种游戏类 Game_System、Game_Map什么的
  >继续
   >从rxdata中读取各种游戏类 Game_System、Game_Map什么的
>Graphics.update与Input.update
  >若$scene不是Scene_Title自己就跳出循环




Scene_Map 游戏画面
>创建Spriteset_Map地图活动块
>创建用于对话框的窗口
>循环
>刷新各种东西
>检测各种东西
>Graphics.update与Input.update
>若$scene不是Scene_Map自己就跳出循环


……
总之它基本的运行机制就是
while $scene !=nil
  $scene.initialize
  $scene.main
      # Game_ 各种数据
      # Window_ 显示窗口
    # Sprite_ 精灵Sprite类的扩展
    # Spriteset_ 显示Tilemap和各种Sprite类

    # 循环来做各种事
      # break if $scene has changed
  # call the new $scene's initialize method
end
  
作者: OCTSJimmy    时间: 2013-11-14 09:02
其实,学脚本最简单的方法就是拆了默认脚本,把每一句话都用注释清楚的标注出该行干了什么,使用的所有变量是怎么回事,某些少见的语句是什么概念,有哪些用法,当你把默认脚本加满注释的时候,你已经是一位大师了。
作者: 半秃电磁炮    时间: 2013-11-15 12:38
读程序都是一个模块一个模块读的,从main开始,绘制窗口,点击事件等等等等。
PS:俺是java工程师,没分号和大括号不幸福,仿佛回到了写delphi的年代{:2_263:}
作者: 火烧兔子    时间: 2013-11-15 18:42
学脚本千万别看F1上面的,
你可以按照我的方法:
先去找一些简单的脚本,例如在菜单中显示游戏时间(这种脚本一般很短)
看他们是怎么写的,然后,按照他们的方式自己试试看能不能改
改的多了,你自然就会自己创造了

如果你单纯的看F1上的指南,你不花个一年半载是学不会的。
就如同我现在学C语言一样,同样的知识,我要看3本不同的书,但是,一旦让我真正的上机操作时,我却发现突然之间什么都忘记了。
于是,我总结了经验,发现实际操作才是最重要的,无论你看多少书,都不如动手来得重要。
作者: 6rp    时间: 2013-11-15 18:50
看有文字说明的地方,尝试改动一些比较直观的地方,观察效果。
作者: wgr273    时间: 2013-11-15 21:11
76213585 发表于 2013-11-10 12:18
剛開始寫小腳本就是把原本的定義重新定義以達成自己所需要的效果
然後你不說什麼地方有問題只弄了一推煩人 ...

你好,很感谢你回答我的问题,可能说的的不太明白,其实我的意思是看得懂RM里面原来里面的脚本,每一句是什么意思,我懂得定义一个类跟方法,但是却不太懂怎样学习一个脚本实现自己的目的,比如双远景教程,里面他是怎知道要修改那个地方,还有别的什么地方什么位置要修改一下,他是怎么知道的呢?
作者: wgr273    时间: 2013-11-15 21:11
76213585 发表于 2013-11-10 12:18
剛開始寫小腳本就是把原本的定義重新定義以達成自己所需要的效果
然後你不說什麼地方有問題只弄了一推煩人 ...

你好,很感谢你回答我的问题,可能说的的不太明白,其实我的意思是看得懂RM里面原来里面的脚本,每一句是什么意思,我懂得定义一个类跟方法,但是却不太懂怎样学习一个脚本实现自己的目的,比如双远景教程,里面他是怎知道要修改那个地方,还有别的什么地方什么位置要修改一下,他是怎么知道的呢?
作者: wgr273    时间: 2013-11-15 21:14
guoxiaomi 发表于 2013-11-10 13:17
我理解XP的逻辑时,先看Window类知道窗口及内容的绘制方法,再看Game_Map类,再是Scene_Map、Scene_Battle ...

大侠,能不能提供个RUBY的下载链接呀{:2_268:},还有要自学RUBY大概要多久呢?
作者: wgr273    时间: 2013-11-15 21:14
guoxiaomi 发表于 2013-11-10 13:17
我理解XP的逻辑时,先看Window类知道窗口及内容的绘制方法,再看Game_Map类,再是Scene_Map、Scene_Battle ...

大侠,能不能提供个RUBY的下载链接呀{:2_268:},还有要自学RUBY大概要多久呢?
作者: wgr273    时间: 2013-11-15 21:17
wolves 发表于 2013-11-10 14:58
偶也是初学者,我在看这个,看看能不能帮上忙。。。

你好,感谢你回答我的问题,这个我已经完全看过几遍了,可能我比你提前一点点吧,我现在想要更深入的,能自己写脚本那种!{:2_284:}
作者: wgr273    时间: 2013-11-15 21:23
chd114 发表于 2013-11-10 16:49
请善用RMXP内嵌的F1的Ruby手册

你好,我看多很多你的帖子,都很不错很经典,没想到你能来回答我的问题,非常感谢,RMXP里面的手册我看过三次了,但是还是不明白怎样自己下一个脚本,我就属于那种刚刚看完册子和语法的人,不懂从哪下笔的人!感觉很乱,虽然懂了语法但是还是不能完全看懂RMXP里面的脚本自带的脚本!更别提修改了!
作者: wgr273    时间: 2013-11-15 21:24
无脑之人 发表于 2013-11-10 19:29
编程思想的产生->Ruby语法的学习->面向对象编程的学习->完毕
这算是对毫无基础的人最快的路线了吧?算法还 ...

面向对象编程的学习,这个怎么学呀?在哪学?有资料链接么?
作者: wgr273    时间: 2013-11-15 21:26
yagami 发表于 2013-11-11 23:53
其实学习下C++ 然后再回来看RUBY 很多东西都豁然开朗了 还能深刻体会到RUBY得便利性 ...

我英语不是很好,学C++会不会难度很大?
作者: chd114    时间: 2013-11-17 08:36
wgr273 发表于 2013-11-15 21:23
你好,我看多很多你的帖子,都很不错很经典,没想到你能来回答我的问题,非常感谢,RMXP里面的手册我看过 ...

不同的脚本你需要用不同的方法创建定义···比如你要定义一个循环就是
  1. a=0
  2. for i in X..Y
  3. a+=i
  4. end
复制代码
这就是一个简单的循环(X必须小于Y,否则循环不成立,在循环开始前a必须定义为0,否则无法加上被定义赋值的i)
显示图片的话又要看你需要显示的是物品的图片、标题图片还是战斗图、行走图、背景图(和标题图片有所区别)···
作者: wgr273    时间: 2013-11-20 19:15
chd114 发表于 2013-11-17 08:36
不同的脚本你需要用不同的方法创建定义···比如你要定义一个循环就是这就是一个简单的循环(X必须小于Y ...

明白了,





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1