作者sa072686 (小红)
看板RPGMaker
标题Re: [问题] 想请教有人会自创物品栏吗
时间Mon Mar 11 03:37:49 2013
1F:→ ededisgood:另外不好意思 我想学的就是吃掉A B和C就会补位的技巧
这样一来道具栏的每一格,都不一定会是什麽
不固定、可变,所以用变数储存,用很多变数(看你物品栏多大)假设000~999
000存第一格道具ID,001存第二格道具ID,…,999存第一千格道具ID
这样你就有个道具栏了,数量透过ID取得就行
多拿一个变数记你道具栏目前多大
显示比较麻烦,新版不知道,以前版本不能显示文字,所以每个道具要一张图
可以弄一个事件,抓变数1000当X,变数1001当Y,变数1002当图片ID
就做一件事,抓变数1002判断用哪张图,显示在X=变数1000,Y=变数1001的地方
这样就可以简单地显示一个道具,如果你要小图示之类的从这基础去改
要显示哪些就,看你要用怎样方式,有直接换一页或是只跳下一项两种方式
1. 游标到底後再往下,就从显示000到007,变成显示001到008
2. 游标到底後再往下,就从显示000到007,变成显示008到015
看到这里就发现其实完全没差,只差在「从哪开始显示」这变数跳一次多大格
从变数「从第几格道具开始显示」和目前道具是画面中第几格,可以决定座标
这个自己决定,显示数量部份参考上一篇文
使用的时候和自制选单一致,你从游标座标和「从第几格道具开始显示」算得出格数
再去这格变数抓道具ID,再拿ID抓数量,好像XP开始不能用变数指定位置会比较麻烦
但弄个事件硬用分歧也不是不能指定
拿到新道具先看道具数量,如果是0,就放在道具栏最後一格,道具栏格数+1
使用或丢弃时看最後的道具数量,如果是0,就用回圈找出它并删掉
在那位置之後全部往前放一格,大概长这样
变数1000-目标ID 代入 目标道具ID
变数1001-目前格数 代入 道具栏开始格数
变数1002-结束格数 代入 道具栏开始格数
变数1002-结束格数 增加 道具个数
反覆处理
注译:如果底下这行不通,就搞个事件想办法就是挖出目标值放在变数1003
变数1003-目前格ID 代入 变数编号[1001-目前格数]
条件分歧 如果 变数1003 等於 变数1000-目标ID
结束反覆
分歧结束
变数1001-目前格数 增加 1
反覆结束
变数1004-下一格 代入 变数1001-目前格数
变数1004-下一格 增加 1
反覆处理
条件分歧 如果 变数1001-目前格数 等於 变数1002-结束格数
结束反覆
分歧结束
变数1005-下一格ID 代入 变数编号[变数1004-下一格]
变数编号[变数1001-目前格数] 代入 变数1005-下一格ID
变数1001-目前格数 增加 1
变数1004-下一格 增加 1
反覆结束
变数2000-道具个数 减少 1
简单地说就是,假如目前道具栏是000开头,共10个道具,那你就问啊
000是不是我要找的啊
001是不是我要找的啊
002是不是我要找的啊
003是不是我要找的啊
004是不是我要找的啊
你在004找到用完的道具
004 代入 005 道具ID
005 代入 006 道具ID
006 代入 007 道具ID
007 代入 008 道具ID
008 代入 009 道具ID
009 代入 010 道具ID
009其实已经不在范围中了,但上面的程式码确实会让009代入010内容
不过这不重要,你其它没写错的话会因为009不在范围中,所以它变成怎样都无所谓
这样删除也OK了,其它应该和固定位置的没什麽差别
有问题再来问,水球或私信比较保证能让我知道
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.248.106
※ 编辑: sa072686 来自: 140.112.248.106 (03/11 03:40)