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

Project1

 找回密码
 注册会员
搜索
楼主: 六祈
打印 上一主题 下一主题

[RMVX发布] 技能树系统+技能投点升级(这次没那么疼了,可以直接用了

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
526 小时
注册时间
2007-12-24
帖子
158
11
发表于 2010-9-12 14:50:49 | 只看该作者
先支持一下~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
83 小时
注册时间
2007-6-26
帖子
264
12
发表于 2010-9-12 15:38:43 | 只看该作者
等楼主更新N+N+N+N+N+N+N:$起码要有7行
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

13
发表于 2010-9-12 16:10:30 | 只看该作者
用图片代替线实际上是用图片代替点,准备线、箭头的图片就可

                      Skill.jpg
                        line.jpg
                        line.jpg
                        line.jpg
                      arrow.jpg
                     skill.jpg

不知能明白否                        

点评

[url]http://bbs.66rpg.com/forum.php?mod=redirect&tid=156223&goto=lastpost#lastpost[/url]  发表于 2010-9-13 13:00
skill用icon只是权宜之计…线和箭头的图片,这个主意蛮好的~~~  发表于 2010-9-12 16:34

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

14
 楼主| 发表于 2010-9-12 19:43:03 | 只看该作者
回复 禾西 的帖子

禾西前辈

愚者前几天做过一个画技能树的东东
http://rpg.blue/thread-155608-1-1.html
这个仅仅是画树,满足了n对1的情况,算法是将点集合用数组传入,边集合用哈希(键为前置技能id,值为后置),之后计算技能树的层次确定y值,第一层平均铺好x值,从第二层开始,每个后置技能的x值均为前置技能的x平均数,画了之后感觉挺美观的。

后来想到技能树还是一前置n后置常见一些,于是又做了今天这个产物,这个的算法是简单的将后置技能的x值分散开来(如果多于一个),感觉上不如前一个好看

另外愚者的问题在于,这两种算法有点没法融合到一起去
回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

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

贵宾

15
发表于 2010-9-13 06:17:44 | 只看该作者
本帖最后由 禾西 于 2010-9-13 06:21 编辑

從左至右,從上至下。
hash = {自身=>[前置1,前置2]}
因為hash的keys不可靠,因此可能要套一個用來排序的index
  1. win_width = 100 #窗口寬度
  2. index = [ 1 , 2 , 3 , 5 , 4   , 6 ]
  3. hash = {1=>[0],2=>[1],3=>[1],5=>[1],4=>[2,3],6=>[3]}
  4. yy = {}
  5. xx = {}
  6. layer = []
  7. for i in index
  8.   deep = 0
  9.   value = hash[i]
  10.   while value != [0]
  11.     deep += 1
  12.     key = value[0]
  13.     value = hash[key]
  14.   end
  15.   yy[i] = deep
  16.   layer[deep] ||= 1
  17.   layer[deep] += 1
  18. end
  19. fill = [1,0] #填充表,記錄現在這層的填充狀況。fill[0] 是 x,fill[1] 是 y,y是層次。爲甚麼從1開始?你懂的……
  20. for i in index
  21.   if fill[1] != yy[i]
  22.     fill[0] = 1
  23.     fill[1] = yy[i]
  24.   end
  25.   xx[i] = win_width / layer[ yy[i] ] * fill[0]
  26.   fill[0] += 1
  27. end
  28. for i in index
  29.   p i,yy[i],xx[i]
  30. end
复制代码
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

16
 楼主| 发表于 2010-9-14 01:30:46 | 只看该作者
回复 禾西 的帖子

禾西前辈,愚者认真的读了下您的代码,发现两个问题:1、计算深度时,似乎都只计算第一个前置技能的深度了?2、第二步计算xx时,如果index这个数组不是根据yy来排序的话,似乎会产生不可意料的错误呢
   
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

17
发表于 2010-9-15 22:39:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

18
 楼主| 发表于 2010-9-15 22:45:12 | 只看该作者
回复 沉影不器 的帖子
回沉影前辈:
愚者是使用了一个技能作为技能树数据的载体
1.该技能【在范例中最后一号技能】说明里添加skill_tree,角色只要习得该技能就拥有该技能树,并且用于设置技能树的技能不会在技能菜单内显示
2.该技能的备注里添加技能树数据
   level1=[id,id]开始,数组内是技能id,层数无上限
   connection=[]数组内以二元数组记录两个有联系的技能

基本上就是这样啦~~

   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2010-8-15
帖子
13
19
发表于 2010-9-22 08:46:08 | 只看该作者
看了那么长的脚本就蛋疼。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
108 小时
注册时间
2010-7-7
帖子
114
20
发表于 2010-11-20 22:22:56 | 只看该作者
设置好复杂...
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 10:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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