→ 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了,其它应该和固定位置的没什么差别
有问题再来问,水球或私信比较保证能让我知道