Project1

标题: 像这样的效果不知道能不能实现? [打印本页]

作者: 美丽晨露    时间: 2013-5-2 10:33
标题: 像这样的效果不知道能不能实现?
本帖最后由 美丽晨露 于 2013-5-5 11:39 编辑



先是出现选择项,选择正确的话会提高队伍内
第一个角色的经验值。


窗体效果如上图
经验是动态增加减少的
当然不要求是双屏的
请问能不能做到呢?
作者: 亿万星辰    时间: 2013-5-2 10:42
增加经验这个没难度吧~主要问的是动态增加效果?
作者: 光の異形    时间: 2013-5-2 11:04
本帖最后由 光の異形 于 2013-5-2 11:07 编辑

果断是用变量来增加吧

这样就可以了吧?
作者: 美丽晨露    时间: 2013-5-2 11:07
亿万星辰 发表于 2013-5-2 10:42
增加经验这个没难度吧~主要问的是动态增加效果?

是啊
还有那窗体的问题也是个难题
作者: 亿万星辰    时间: 2013-5-2 11:11
我记得有 API 能够让窗口的那个边框消失不见的~
作者: yagami    时间: 2013-5-2 11:18
$game_party.actors[0].exp +=rand(100)
这样就是队伍里1号角色加随机0~99经验
rand(1000)+1000的话就是1000~1999随机 差不多就这么用吧
作者: 美丽晨露    时间: 2013-5-2 11:27
光の異形 发表于 2013-5-2 11:04
果断是用变量来增加吧

这样就可以了吧?

主要是动态增加跟减少的问题
作者: 光の異形    时间: 2013-5-2 12:21
本帖最后由 光の異形 于 2013-5-2 12:25 编辑
美丽晨露 发表于 2013-5-2 11:27
主要是动态增加跟减少的问题


  是不是那种 本来基础经验 1000 +500 然后 它显示 1001 1002 1003 ··· 1500 这样啊 ········


我知道怎么实现动态增加
但是不知道什么在游戏中表示出来

先要 三个变量 一个角色基础值 一个增加值 一个增加后的值
然后 就是慢慢把 角色经验的基础值 加到 增加后的值
要把这个变量显示出来 还需要哪个窗口脚本啊
作者: 美丽晨露    时间: 2013-5-2 12:26
光の異形 发表于 2013-5-2 12:21
是不是那种 本来基础经验 1000 +500 然后 它显示 1001 1002 1003 ··· 1500 这样啊 ··· ...

差不多
就是比如100快速的下降到0的显示效果
作者: 光の異形    时间: 2013-5-2 12:42
本帖最后由 光の異形 于 2013-5-2 12:44 编辑
美丽晨露 发表于 2013-5-2 12:26
差不多
就是比如100快速的下降到0的显示效果



这个就是啦一是是数据输入 二是经验动态增加 三是经验动态增加同时 获得经验j动态减少
但是要显示 貌似要每帧都刷新窗口才行
作者: 美丽晨露    时间: 2013-5-2 13:09
光の異形 发表于 2013-5-2 12:42
这个就是啦一是是数据输入 二是经验动态增加 三是经验动态增加同时 获得经验j动态减少
但是要显示 貌似 ...

这样啊
事件显示还真的有些麻烦呢
谢谢你了
作者: 光の異形    时间: 2013-5-2 13:15
美丽晨露 发表于 2013-5-2 13:09
这样啊
事件显示还真的有些麻烦呢
谢谢你了

  帮到忙正是太好了
作者: 美丽晨露    时间: 2013-5-3 09:55
希望能用脚本实在,虽然 光の異形的朋友的事件方法很不错
但是操作起来还是挺困难的。
所以我召唤一下

@弗雷德
@cinderelmini
@芯☆淡茹水  
作者: 芯☆淡茹水    时间: 2013-5-3 10:54
美丽晨露 发表于 2013-5-2 12:26
差不多
就是比如100快速的下降到0的显示效果

是哪种动态加EXP?是像显示伤害数值那样?还是EXP数值快速的跳动那种?

还有那个窗口,不知有没素材,如果做出来都是普通窗口。之后再加素材进去的话很麻烦。
作者: 美丽晨露    时间: 2013-5-3 11:21
芯☆淡茹水 发表于 2013-5-3 10:54
是哪种动态加EXP?是像显示伤害数值那样?还是EXP数值快速的跳动那种?

还有那个窗口,不知有没素材,如 ...

第二种
窗口的话就用系统的吧
作者: cinderelmini    时间: 2013-5-3 13:47
本帖最后由 cinderelmini 于 2013-5-3 13:49 编辑

真的需要分上下视窗咩?话说NDS分视窗技术有可能实现咩?(喂……)

由于近期比较忙~于是饭粒工程的话应该做不了了~
以下说说制作思路~

于是脚本实现的话……而且这是在地图对话的时候用出现选项的吧……
那就需要先写两个函数……
(其实就是以前的前辈写的那个把角色的经验值分成当前经验值和升级所需经验值的函数了……)

然后在Scene_Map里加上个显示角色状态的窗口~
(当然为了可怜的FPS,可以把经验值另外用一块Bitmap来显示~)
状态窗口里需要写上并赋值一些可读可写的变量:
♢当前角色等级
♢当前经验值
(这里的两个变量需要在这个窗口脚本里的初始化里面赋值为第一位角色的等级和经验值。)
♢经验值增减量
(这个也可以在Scene_Map里写,用@变量就可以,不过为了统一还是先写在这里了……
 然后关于它的赋值,可以用一枚变量来操作,姑且用一号变量吧:$game_variables[1])

然后就是在Scene_Map里面的各种对比~
首先要获取第一个角色的经验值和等级~
也就是:
$game_party.actors[0].level
$game_party.actors[0].当前经验值(喂……节操哪去了……)

然后就是各种对比和实际操作了~
具体在Scene_Map里的update~(因为是需要每帧用到的……)
刷新内容如下:
(由于各种名称的代码前面都说过,以下就用文字了……打代码切换中英文真累……)
(另外变量是可以赋值为负数的……)

RUBY 代码复制
  1. if 一号变量 < 0
  2.   if 领队角色的当前经验值 > 显示窗口记录的角色经验值变量 + 一号变量
  3.     领队角色的当前经验值 -= 1
  4.   else
  5.     显示窗口记录的角色经验值变量 = 领队角色的当前经验值
  6.   end
  7. elsif 一号变量 > 0
  8.   if 领队角色的当前经验值 < 显示窗口记录的角色经验值变量 + 一号变量
  9.     领队角色的当前经验值 += 1
  10.     if 领队角色的等级 > 显示窗口记录的角色等级
  11.       处理升级的效果
  12.     end
  13.   else
  14.     显示窗口记录的角色经验值变量 = 领队角色的当前经验值
  15.   end
  16. end


这个是主刷新
这之后在下面写上这个显示窗口的update就能做到数字跳动了~
不论增减都能用~
不过降级这种事情还是做不到……

哦对了~
关于显示窗口脚本的内容……
参考XP自带系统的Window_MenuStatus
不过一开始说了~
显示经验值的最好用另一个Bitmap~
不然一直在update里面用refresh的FPS很伤的……

以上~
作者: 美丽晨露    时间: 2013-5-3 22:43
cinderelmini 发表于 2013-5-3 13:47
真的需要分上下视窗咩?话说NDS分视窗技术有可能实现咩?(喂……)

由于近期比较忙~于是饭粒工程的话应该 ...

十分感谢
虽然原理是懂了
但是写脚本的话,我表示无能
作者: 芯☆淡茹水    时间: 2013-5-4 01:49
本帖最后由 芯☆淡茹水 于 2013-5-4 10:31 编辑

粗制滥造了一个,说起来还是蛮简单的,但是不知道符不符合要求。

作者需要做的是:出问题 -->选择项-->回答正确

回答正确后,增加 EXP,不用事件编辑器里面的,用事件-->脚本   

输入:
RUBY 代码复制
  1. $game_raise_exp = true
  2. actor = $game_party.actors[0]
  3. $game_party_raise_exp = [actor, exp]


第一句:$game_raise_exp = true       打开动态增加经念
第二句:actor = $game_party.actors[0]     获取角色为队伍 1 号角色
第三句:$game_party_raise_exp = [actor, exp]    动态增加经念。[]里面的 actor 已定义,为队伍 1 号角色 ;exp 输入具体增加的EXP值。(可以输入负值,减经念,详见范例)

还有一个比较重要的:地图状态窗口平时是隐藏的,只有某个开关打开时才显示,关闭后变为隐藏,(开关号可在脚本里设)
脚本修改过的地方已标记。

有问题请 @


Project1.rar (212.57 KB, 下载次数: 29)
作者: 美丽晨露    时间: 2013-5-4 20:46
芯☆淡茹水 发表于 2013-5-4 01:49
粗制滥造了一个,说起来还是蛮简单的,但是不知道符不符合要求。

作者需要做的是:出问题 -->选择项-->回 ...

实现的效果很好啊

请问能不能略微美化一下呢?

我只想显示领队人物的信息,然后加入一个头像

最后美化一下升级,当人物升级时,头像变成笑容数十帧后还原。
最好显示升级的字样
作者: 芯☆淡茹水    时间: 2013-5-5 00:45
本帖最后由 芯☆淡茹水 于 2013-5-5 23:58 编辑

     工程已重新改过,状态栏只显示队伍 1 号。 增加 头像 描绘,头像图片制成 50 - 80 的正方形(太大的话窗口放不下)

头像文件命名: 一般头像:角色名_f                   微笑头像:角色名_fl   。       保存在 工程的 Characters 文件夹下。

升级显示 level up ,  level up 是图标图片。

另,增加一个升级播放 SE 的声效。


Project1.rar (264.4 KB, 下载次数: 40)
作者: 美丽晨露    时间: 2013-5-5 09:48
芯☆淡茹水 发表于 2013-5-5 00:45
工程已重新改过,状态栏只显示队伍 1 号。 增加 头像 描绘,头像图片制成 50 - 80 的正方形(太大的话 ...

谢谢美化啊
突然觉得阿尔西斯的笑容好搞笑呢
作者: 美丽晨露    时间: 2013-5-5 11:38
本帖最后由 美丽晨露 于 2013-5-5 13:03 编辑


工程内有几个小问题想问问
1.怎么修改头像的横纵坐标以及使用的大小
工程提供的是50*50的头像
2.怎么修改让状态只显示最大的HPSP,不显示当前HPSP
3.能不能将当前经验值跟所需要的经验值分为两行显示?
4.话说增减经验的语句在哪里呢?我想在增减时播放一个音效
PS:@为什么失败了?



这是我修改后的

Project39.zip (281.01 KB, 下载次数: 42)

@芯☆淡茹水

作者: 光の異形    时间: 2013-5-5 13:39
美丽晨露 发表于 2013-5-5 11:38
工程内有几个小问题想问问
1.怎么修改头像的横纵坐标以及使用的大小
工程提供的是50*50的头像

  菊花最无力 ··· 那是人类的弱点啊 ··· 弱点 ············
作者: Funshion    时间: 2013-5-5 22:54
过来学习。。。。
作者: 芯☆淡茹水    时间: 2013-5-6 02:02
本帖最后由 芯☆淡茹水 于 2013-5-6 02:29 编辑

   头像图片是有多大显示多大,但不要超过窗口了,会显示不完全,坐标位置在脚本里已说明,可自己调整。


下面工程已按要求修改,增加的脚本已添加注释

效果:


Project39.rar (275.82 KB, 下载次数: 38)
作者: 美丽晨露    时间: 2013-5-6 16:17
芯☆淡茹水 发表于 2013-5-6 02:02
头像图片是有多大显示多大,但不要超过窗口了,会显示不完全,坐标位置在脚本里已说明,可自己调整。

谢谢您
有了注释的话就更好理解了 谢谢




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