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

Project1

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

[已经解决] 【求助帖】窗口选项什么的渣问题一个

[复制链接]

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

跳转到指定楼层
1
发表于 2010-12-28 23:04:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 px.凤翔九天 于 2010-12-30 20:47 编辑

貌似比较渣的问题,但是我还是没能搞定。
就是在我改动了scene_item window_item window_help等脚本时,发现了以下问题:
也就是一个窗口的小小的排版问题
正常显示时,是图标+物品名+数量
我给改成了图标+物品名(渣操作)
就是这样:

然后希望改成有几个就显示几行,不是后面直接加个数字表示数量
然后我就想去向@item_max下手,无效....
这是问题一。

第二:假如54上面问题,还有另一个问题:那就是现在的窗口大仙可以显示10行,所以当超过十个物品时,会往下拉动,我希望的是只能选10个,大于是个设置左右换页。
其实第二个问题的解决思路我自己很清楚,但是如何设置第二页是问题:不是怎么切换到第二页,是怎么描绘第二页.....假如单纯使用@item_max判断页数,先写好在换页的话,会出现一些问题(试验过)难道要使用一次物品就重新排布所有页?看到有了什么父类中page_row_max这类的东东了,但是不知道怎么用啊...
貌似思路懂了,自己可以搞定,就不再追问了。细节我搞定吧。

脚本觉得不需要发,毕竟没改多少,照着原脚本看就好,我大致改了一下坐标,大小什么的而已。

Lv4.逐梦者

梦石
0
星屑
7981
在线时间
1183 小时
注册时间
2007-7-29
帖子
2055
2
发表于 2010-12-28 23:31:26 | 只看该作者
如果只是要窗口,我可以帮你,可是这样scene_item很多功能会冲突到乱……那个你得自己来……怎样?

点评

楼下把答案补完了……  发表于 2010-12-28 23:43
回复 支持 反对

使用道具 举报

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

3
发表于 2010-12-28 23:32:24 | 只看该作者
本帖最后由 七夕小雨 于 2010-12-28 23:42 编辑

分类了嘛?貌似没有看到分类嘛~

好吧~我没有明白第一个问题是什么意思~54吧~

翻页是这样的~

Scene_item
update部分加入

if Input.repeat?(Input::RIGHT)
end
这里先不用写什么~
然后在window_item中
def refresh加两个参数
def refresh(s,p)

再看到 @item_max = @data.size
上面一行插入

@datax = @data
@data = []
if @datax.size>10
  for i in 0...(p-s)
    @data=@datax[s+i]
  end
else
  @data = @datax
end

然后再看
if Input.repeat?(Input::RIGHT)
end
中间填上
@page +1
@window.refresh(@page*10,@page*10+10)

期间还需要一些判定,比如什么时候RIGHT不能按

还有初始化场景需要@page = 0物品的初始化设置等等

我想你都没有问题了吧


七夕小雨于2010-12-28 23:38补充以下内容:
最好再窗口类起先申明一个可操作的对象变量~带入的是@datasize = @data.size为的判定页数

那样
scene_Item的updat中先计算一下总页数
@max = @window.datasize
@bit = @max/10
if Input.repeat?(Input::RIGHT)
@page +1

  if @page != @bit
          @window.refresh(@page*10,@page*10+10)

  else
     @window.refresh(@page*10,@max)

  end
end



七夕小雨于2010-12-28 23:40补充以下内容:
声明总变量是 在window_Item<window_Selectable下面加上
attr_accessor :datasize
def initialize下面加上
@datasize = 0

点评

恩恩,对,就是这个意思。显示两次而不是显示数目的数字。  发表于 2010-12-28 23:57
其实第一lz的一是应该是不要显示数量。比如说有两个恢复剂,可是不要显示【恢复剂x2】,要显示两次【恢复剂】。  发表于 2010-12-28 23:43

评分

参与人数 1星屑 +400 收起 理由
fux2 + 400 认可答案

查看全部评分

[url=http://weibo.com/2238291690?s=6uyXnP]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

4
发表于 2010-12-29 00:07:16 | 只看该作者
宿舍息灯了……明天吧……如果我记得的话--By Highfan!3.0

点评

你要是忙的话,估计我还得用我自己的各种渣方法探索了....  发表于 2010-12-29 00:29
貌似有神奇的不好使了.....原因不详,貌似是那个s p的参数设置有问题,话说您还是写个帮我写个范例工程吧....理解能力低下啊  发表于 2010-12-29 00:27
最好直接搞个工程过来,纯写脚本还是有一些理解难度....  发表于 2010-12-29 00:18
好的。  发表于 2010-12-29 00:12
[url=http://weibo.com/2238291690?s=6uyXnP]
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
295
在线时间
79 小时
注册时间
2008-2-24
帖子
82
5
发表于 2010-12-29 00:51:21 | 只看该作者
怎么看小羽的头像让人感觉你都是腐女。。。。。。。
也许是我比较YY吧= =。。。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1035
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

6
发表于 2010-12-29 10:11:16 | 只看该作者
难道要使用一次物品就重新排布所有页

是的。

点评

额,比较麻烦啊....又是对我的猪逻辑的考验....  发表于 2010-12-29 21:01
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

7
发表于 2010-12-29 12:55:04 | 只看该作者
先说第一个问题吧~
在Window_Item 裡面第52行左右
      @data.push(item)
改成
      $game_party.item_number(item).times{@data.push(item)}
然後77行
      self.contents.draw_text(rect, sprintf(":%2d", number), 2)
前面加上 # 号


至于为什么不好使,我估计是你@datasize变量没有好对地方

首先window类起头申明垮类可操作~
然后在@datax = @data
@data = []
下面写上
@datasize = @datax.size
承认这里昨天晚上大意写错了- -

然后scene_Item里面

main部分~
@window = window_Item.new
@window.refresh(0,0)
#这里这么干时为了让他执行一遍最新的refresh从而获得@datasize的值
if @window.datasize >10
@window.refresh(0,10)
else
@window.refresh(0,@window.datasize)
end

其余的地方还真没有发现再有什么问题,就是少个LEFT,这个我相信你会的
[url=http://weibo.com/2238291690?s=6uyXnP]
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

8
 楼主| 发表于 2010-12-29 21:28:31 | 只看该作者
本帖最后由 px.凤翔九天 于 2010-12-29 22:52 编辑

回复 七夕小雨 的帖子

问题一终于解决
过程:根本没找到你说的原话...找到了差不多的,直接替换掉无效,然后我看你的区块写的诡异,再查看了$game_party.item_number的参数问题,发现参数是物品id,所以更改了一下写法:
        $game_party.item_number(i).times{@data.push($data_items)}
然后完美解决
问题二:试验结束。依旧无法解决......
    貌似我们用的版本不一样啊....从各种语句的写法可以看出数据库的结构貌似不同。你用的vx?我问的是xp问题啊....(我用的xp1.02)
但是不管怎么说,问题已解决了,倒还是不错的。
效果图:

问题二我自己再试试。

点评

话说思路在我分析后掌握得很彻底- - 对数据库的调用方法也比较熟悉了,只是比较懒...去玩ndsi了...应该没什么大问题了,我先结贴吧。  发表于 2010-12-30 20:46
我还以为这帖解决了……== 看你那么努力……问题二我给你一点暗示好了……直接看window selectable里的update是怎样处按键,改一改就有你要的"视觉效   发表于 2010-12-30 20:03

魔法麻将独立游戏制作中,欢迎热情的测试员与UI设计师合作开发~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 04:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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