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

Project1

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

[讨论] 脚本学习~提问教程贴~~(更新:2月11日)

 关闭 [复制链接]

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1435
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

跳转到指定楼层
1
发表于 2011-2-8 01:40:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 「旅」 于 2011-2-11 10:25 编辑

【提问区域】
喵最近比较有空~~所以开了这个帖子~~大家可以到这里提基础脚本的问题,或者实用脚本的写法~~~
p.s小旅对理论的东西知道得比较少,不过如果你是来制作游戏的话,理论不重要,关键是怎么运用哦~~
p.s.2千万不要在这个帖子里索要什么脚本哦,这里只负责给大家学习的~~
  1. 范例如下,都是我以前搞不懂的问题,各位需要的话可以提出来~~
  2. Q1:脚本里的def [](id)~end是怎么回事呢?怎么运用?
  3. Q2:怎么可以描绘图型啦、血条啦之类的呢?
  4. Q3:如果我要看默认脚本的话,应该从哪里看起合适?
  5. Q4:能不能介绍一下默认脚本中各类脚本的用途和特征呢?
  6. Q5:什么return然后返回并中断的,可以说明一下到底是怎么回事吗?
  7. Q6:self或super之类的到底是怎么用的?
复制代码


【教程区域】
喵另外顺便写一些教程好了~~~嗯最近对脚本的写法有研究,试试看写出大家都能很容易理解的教程~~~
p.s教程将先讲解整体脚本的格式,随后渐渐会有一些实用脚本、必须了解的脚本等内容献上~~希望认真学习的同学要多点来捧场哦~~~

点评

可以呀~~~  发表于 2011-2-9 16:33
于是也能问事件脚本么  发表于 2011-2-9 13:44
先去睡觉了~~~各位明天见~~  发表于 2011-2-8 01:45

评分

参与人数 7星屑 +3332 收起 理由
IamI + 1092 塞糖不解释
阿夏依岚 + 6 凑整的糖果~~~
忧雪の伤 + 10 糖果
小角色 + 332 小旅开始燃烧了
david50407 + 1332 塞糖表示支持~~
禾西 + 280 塞個新年糖
kakarot + 280 塞糖支持旅喵=w=

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-7-9
帖子
31
2
发表于 2011-2-8 01:42:50 | 只看该作者
本帖最后由 「旅」 于 2011-2-11 10:24 编辑

【提问解答】

提问1
如何设置菜单为半透明并背景显示地图?
提问者
凯蒂洛斯
链接

提问2
怎么储存变量?以及数据类的重要用途~~
提问者
okasssss
链接


【脚本教程】

教程1
基础:变量、实例、类之间的关系
链接

教程2
类的属性,及写入与读取的方法~~
链接

教程3
教程2的补充~~神奇的仿真变量~~
链接

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1050
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2011-2-8 02:16:40 | 只看该作者
欢迎整理,然后投稿给RDeveloper。

点评

那是什么喵?  发表于 2011-2-8 09:58

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
578 小时
注册时间
2010-6-29
帖子
365
4
发表于 2011-2-8 20:41:41 | 只看该作者
如何将菜单底板设置为半透明并且背景显示为原地图?
谢谢~

评分

参与人数 1星屑 +100 收起 理由
「旅」 + 100 感谢支持~~~

查看全部评分

为了四公主苦逼赚钱中。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3121
在线时间
1534 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

5
发表于 2011-2-8 20:52:54 | 只看该作者
本帖最后由 IamI 于 2011-2-8 20:54 编辑
凯蒂洛斯 发表于 2011-2-8 20:41
如何将菜单底板设置为半透明并且背景显示为原地图?
谢谢~


对于任意Scene
在Main方法内
在Graphics.freeze前加入
  1. @XXXXXXXX.opacity = 某数值
  2. @XXXXXXXX.opacity = 某数值
  3. ......
  4. (所有Sprite、Window都要进行)
  5. @_sp_ = Spriteset_Map.new
复制代码
在main方法最后
  1. @_sp_.dispose
复制代码
以上是大略过程。具体还要靠自己摸索……

点评

Window_Base if $scene.is_a?(Scene_XXX) self.opacity = 某数值  发表于 2011-2-8 20:58
那个xxxx是什么啊?  发表于 2011-2-8 20:56
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
578 小时
注册时间
2010-6-29
帖子
365
6
发表于 2011-2-8 22:18:24 | 只看该作者
回复 IamI 的帖子

还是不怎么懂......
为了四公主苦逼赚钱中。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1435
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

7
 楼主| 发表于 2011-2-9 01:01:59 | 只看该作者
本帖最后由 「旅」 于 2011-2-11 09:17 编辑

回复 凯蒂洛斯 的帖子

首先我们要修改窗口Window的"属性"-不透明度opacity~~打开脚本里的Scene_Menu,我们可以找到@command_window、@playtime_window、@steps_window、@gold_window、@status_window这些变量~~他们是储存窗口类实例的变量,
我们可以直接写上@command_window.opacity = 120,这样就可以更改"属性"opacity了。
(p.s不透明度是0~255,所以半透明差不多就是120)
(p.s.2要注意必须在窗口生成后才可更改"属性",也就是@playtime_window = Window_PlayTime.new,不然会有错误。但也必须在Graphics.transition前写好,因为那之前是专门负责初始化的地方,这是标准格式哦~~)

然后我们可以添加地图了,这个也很容易,因为RM默认脚本已经把地图的东西全都写好了,
我们只需要生成下面这个类即可~~~这段放在先前说的初始化的地方~~
@spriteset = Spriteset_Map.new
之后我们不要忘记把这个实例释放掉,也就是让他从内存里消失~~~
@spriteset.dispose
(p.s这个则就不是放在初始化的地方了哟~~因为它是释放,也就是结束时的步骤,要把它放在Graphics.freeze之后)
(p.s.2注意Graphics.transition、和Graphics.freeze是两种不同的东西哦~~~你可以打开"F1帮助文件-RGSS 参考-游戏库-RGSS 内部模块-Graphics"这里参看,至于为什么需要呢,你可以试着删掉脚本每一个Scene_Xxxxx和Main里的这两样东西,之后就会发现没有这些会很奇怪的了~~)



附加内容:
话说上面有提到变量、实例、类3样东西~~~这里解释他们之间暧昧不清的关系喵~~~

其实很简单,类其实就是一段代码~而我们说生成类,就像将设计图(类)里的车制作为实物~制作出的车就是实例~~
因为类其实就只是一个定义的作用~~然后我们需要把它生成,生成的就是实例~~~
而变量嘛是一个指定的作用,因为实例被存在了内存之中,所以通过变量的指定我们就可以很轻易地找到实例了~~~



喵然后就OK了~~有什么问题可以继续提问哦~~~

点评

恩加了一个提示~~~~  发表于 2011-2-10 09:07
喵里个喵……本来以为附加内容是图片没加载出来没想到是白字!……  发表于 2011-2-9 12:03
><内容好像有点多喵~~~凯蒂洛斯可以选择性看一些,前面比较容易~~后面的内容可以慢慢看,第一次会比较吃力,2~3次后就会基本都吸收了~~~  发表于 2011-2-9 01:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
578 小时
注册时间
2010-6-29
帖子
365
8
发表于 2011-2-9 17:57:52 | 只看该作者
又来麻烦你了……有没有办法使用脚本直接呼出队伍中X号人物的状态栏和装备栏?
为了四公主苦逼赚钱中。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1435
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

9
 楼主| 发表于 2011-2-9 18:11:47 | 只看该作者
回复 凯蒂洛斯 的帖子

这个不难哟~~~脚本里已经定义好了Scene_Status和Scene_Equip这两个类。

只需要$scene = Scene_Status.new(角色ID)或$scene = Scene_Equip.new(角色ID)就行了~~

p.s而为什么是$scene呢~~~你可以打开脚本Main看看~~里面有一个:
  1.   # $scene 为有效的情况下调用 main 过程
  2.   while $scene != nil
  3.     $scene.main
  4.   end
复制代码
这个东西的意思就是只要$scene不为nil(为nil时就是退出游戏了),就会使用Scene_Xxxx类的main方法~~所以以后Scene(场景类)直接生成在$scene里就行,它会自动调用main方法的~~

点评

p.s.2这是RM脚本的另一个标准内容哟~~~  发表于 2011-2-9 18:13
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2010-7-7
帖子
18
10
发表于 2011-2-9 18:38:34 | 只看该作者
我想问一下,如果我写了一个脚本里面有一个记录人物认识时间的变量@time_m那么游戏结束是这个变量是不是会自动保存到存档数据里面呢?还是下次再运行游戏时这个变量又是空的了?

评分

参与人数 1星屑 +100 收起 理由
「旅」 + 100 感谢支持~~~~

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 19:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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