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

Project1

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

[已经解决] 怎么制作仿网游的宝箱

[复制链接]

Lv1.梦旅人

梦石
0
星屑
470
在线时间
3 小时
注册时间
2009-5-5
帖子
4
跳转到指定楼层
1
发表于 2012-5-3 14:02:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
就是做出像梦幻一样,在野外,遇到宝箱,点击打开宝箱以后,会出现5*5=25个物品格子,光标重复循环闪动,当按下停止键后,光标会继续移动若干格子后会停下来,然后人物就会得到光标所指物品栏的东西

其中几个难点:1,点开宝箱以后会出现25个随机物品(怎么设置从素材库随机抽取25个物品图片,并显示到相应的宝箱格子的位置)
              2,打开宝箱以后,光标就开始循环闪动,当按下停止按钮后,光标移动速度会渐渐减慢,然后停留在随机一个格子里
              3,当光标停留在随机的格子里后,系统要能够读出该格子所有的物品,并给与角色

谢谢啦,请高手指教

Lv1.梦旅人

梦石
0
星屑
50
在线时间
14 小时
注册时间
2012-7-12
帖子
7
6
发表于 2012-7-13 09:53:53 | 只看该作者
下个单机梦幻找脚本 复制
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
470
在线时间
3 小时
注册时间
2009-5-5
帖子
4
5
 楼主| 发表于 2012-5-3 17:25:31 | 只看该作者
3年前的问题我弄到最后,实行老是错误。。。然后就就搁浅了。。。- -


‘‘──shichen649于2012-5-3 17:27补充以下内容

有思路就行了,好歹学过2年的C和C++,自己去写脚本去
’’
回复

使用道具 举报

Lv3.寻梦者

昨日的黄昏

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

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

4
发表于 2012-5-3 14:39:13 | 只看该作者
a13637392916 发表于 2012-5-3 14:16
好像没有类似的脚本,你要别人帮你写也不大可能。

要实现就自己去学习脚本,或者放弃这个想法。

- -其实贵宾区就是解决这种没人搭理的问题的,不过现在的人似乎都觉得知识不值什么钱,不过也对,大学生现在挑粪都是竞争岗位了,知识确实不值两个钱
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
268 小时
注册时间
2012-2-4
帖子
205
3
发表于 2012-5-3 14:16:22 | 只看该作者
好像没有类似的脚本,你要别人帮你写也不大可能。

要实现就自己去学习脚本,或者放弃这个想法。

吐槽一句:LZ三年前的问题没解决,现在才又来提问?
回复

使用道具 举报

Lv3.寻梦者

昨日的黄昏

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

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

2
发表于 2012-5-3 14:10:09 | 只看该作者
本帖最后由 七夕小雨 于 2012-5-3 14:48 编辑

只有思路可以嘛 = =

1.RM本身的数据库 有物品的ID 用rand函数 获取0~物品编号最大值之间的物品,循环25次后加入数组或者hash中然后用精灵形式表现

2.是类似拉巴的功能
实现非常简单

   比如你的25个物品所存放的数据是 0~25 ,然后有一个 a =0 (初始化的摇奖位置)
   然后 update方法中加入 a+=1 (当然你可以控制等待时间,越到后面越慢)最后停住 a 就是获得物品的变量, 然后从数组中得到物品加入自己的背包即可
   
   大概代码

关于问题1
#item_list是随机生成的25个物品的泛型集合
@item_list = []
#循环25次随机将物品填入集合@item_list
0.upto(25) do |i|
  @item_list<< $data_items[rand($data_items.size-1)]
end


关于问题2
在Scene的main处理中
#申明转动最后停止所需要的总时间
@time = 200 #200帧
@position = 0 #初始选择的位置为 0
@stop? = false#是否已经停止?
@end? = false#是否摇奖完毕?

然后update中
#是否按下了停止键
@stop? = true if Mouse.click?(1) && 自己的按钮判定
#是否点了停止的按钮
if @stop?
  @time -= 1
  a += 1 if @time == 150 #等待50帧,然后推进1
  a += 1 if @time == 100#等待50帧,然后推进1
  a += 1 if @time == 40#等待60帧,推进1
  if @time == 0
   a += 1 #等待最后40帧,最后确定现在的位置
   @end? = true
  end
else
  a += 1 #
end
#如果结束了摇奖
if end?
  $game_party.gain_item(@item_list[(a%25)].id,1)#加入a位置的物品1个
$scene = Scene_Main.new#返回地图场景
end
   

问题三更是简单极了= =

既然@item_list已经拥有了这些物品的对象,指上去以后根据你绘制精灵的X,y,宽度,高度,就可以准备的判定选择的是那个编号的,然后@item_list[x]就是这个物品对象
更详细的看看帮助文档吧 RPG::Item 就是Item的所有参数 比如你要获得物品的名称就是@litem_list[x].name ,@item_list[x].price 就是这个物品的价格等等

另外一说,这就是个思路= =

点评

好厲害的解說....  发表于 2012-5-3 20:05
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 00:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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