铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2439|回复: 9

【小技巧】对话菜单的使用(全注释实例版:挑选你想要的MM)

[复制链接]
发表于 2011-9-28 22:58 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 StarShine 于 2011-9-29 16:50 编辑

看到有童鞋提到菜单的使用,下面分享一个我喜欢的配置方式。结合一个我自己本打算实用的实例和大家说说

就从大家最熟悉的4MM事件开始吧。原本4MM是随机的,实现代码如下

  1. local r;
  2. if JY.Thing[202][WZ7]==1 then --判断游戏难度,1表示简单,2普通,3困难
  3. r=math.random(2)     -- 简单难度2个
  4. else                          -- 普通难度以上
  5. r=math.random(4)    -- 四个随机
  6. end
复制代码

有一段时间,我打算做周芷若的增强补丁,调试时不能总随机阿,于是咱做了一个菜单,事件的完整代码如下。 (纯玩家不想学代码也没关系,你可以把它复制下来,在招4mm前使用,不用SL你想要的了)









  1. OEVENTLUA[1082]=function() --4MM


  2. say("你理想中的女孩,是什么样的?",92,0,"???")    -- 询问玩家

  3.   local menu = {
  4. {"千娇百媚", nil, 1},         -- menu的使用格式,注意第二项,如果不是函数的话,就写nil
  5. {"英姿飒爽", nil, 1},       -- 我们这里不需要子菜单函数,直接写nil
  6. {"纯真无邪", nil, 1},
  7. {"野蛮女友", nil, 1}}

  8.   local x1 = (CC.ScreenW - 4*CC.StartMenuFontSize) / 2     -- 新人一个很大的障碍在于,很难选到自己喜欢的菜单位置。比如,你知道让菜单出现在屏幕中间,该如何写吗?

  9.   local y1 = (CC.ScreenH - 4*CC.StartMenuFontSize) / 2   --  这个就是我多次尝试的心得,这个位置就会让菜单出现在中间,是既简洁又美观的,大家如果不熟悉的话,可以参考这个写法

  10. local r = ShowMenu(menu, 4, 0, x1, y1, 0, 0, 1, 0, CC.DefaultFont, C_ORANGE, C_WHITE)

  11. --ShowMenu函数,参数比较多,这里挑重点说一下
  12. --第一个,菜单项
  13. -- 第二个      总菜单项个数
  14. -- 第三个      显示菜单项目,=0表示显示全部菜单项
  15. -- (x1,y1),(x2,y2)  菜单区域的左上角和右下角坐标,如果x2,y2=0,则根据字符串长度和显示菜单项自动计算x2,y2
  16. --  是否绘制边框,0 不绘制,1 绘制。若绘制,则按照(x1,y1,x2,y2)的矩形绘制白色方框,并使方框内背景变暗
  17. --  Esc键是否起作用 0 不起作用,1起作用
  18. -- 最后三个就是字体了

  19. -- 这里我们需要返回值  >0 选中的菜单项(1表示第一项)
  20. -- 如果不需要返回值的话,可以直接使用


  21. local bdnl={"姓名", "头像代号", "生命最大值", "内力最大值",
  22. "内力性质", "攻击力", "轻功","防御力",
  23. "拳掌功夫", "御剑能力", "耍刀技巧", "特殊兵器",
  24. "资质","武功1" }
  25. local mm4={};
  26. mm4[1]={"周芷若",301,350,600,0,60,50,50,30,30,0,0,71,41};
  27. mm4[2]={"赵敏",302,270,500,1,70,40,50,0,40,0,0,78,37};
  28. mm4[3]={"郭襄",303,200,500,2,40,40,40,20,20,20,20,73,12};
  29. mm4[4]={"陆无双",304,400,700,0,70,40,60,0,0,40,0,64,54};


  30. --  这里不再是随机量,而是我们选择的值

  31. for i=1,14 do
  32.   JY.Person[92][bdnl[i]]=mm4[r][i]
  33. end


  34. -- 下面的大家应该比较熟悉了,没必要多写了

  35. JY.Person[92]["等级"]=1
  36. for i=1,5 do
  37. JY.Person[92]["出招动画帧数"..i]=0
  38. JY.Person[92]["出招动画延迟"..i]=0
  39. JY.Person[92]["武功音效延迟"..i]=0
  40. end
  41. local avi={ {14,6,7},{8,3,4},{0,0,0},{7,4,5}, }
  42. JY.Person[92]["出招动画帧数1"]=avi[r][1]
  43. JY.Person[92]["出招动画延迟1"]=avi[r][3]
  44. JY.Person[92]["武功音效延迟1"]=avi[r][2]
  45. if r==3 then
  46. local s={ {0,0,0},{9,2,3},{8,3,4},{8,3,4},{9,5,6}, }
  47. for i=1,5 do
  48. JY.Person[92]["出招动画帧数"..i]=s[i][1]
  49. JY.Person[92]["出招动画延迟"..i]=s[i][3]
  50. JY.Person[92]["武功音效延迟"..i]=s[i][2]
  51. end
  52. end
  53. say(CC.EVB205,JY.Person[92]["头像代号"],0,"???")
  54. if instruct_9(57,0) ==false then -- 9(9):是否要求加入?是则跳转到:Label0
  55. instruct_3(-2,-2,0,0,0,0,0,0,0,0,-2,-2,-2);
  56. say(CC.EVB206,JY.Person[92]["头像代号"],0,"???")
  57. return;
  58. end --:Label0
  59. if instruct_20(20,0) ==false then -- 20(14):队伍是否满?是则跳转到:Label3
  60. instruct_14(); -- 14(E):场景变黑
  61. instruct_3(-2,-2,0,0,0,0,0,0,0,0,0,0,0); -- 3(3):修改事件定义:当前场景:当前场景事件编号
  62. instruct_0(); -- 0(0)::空语句(清屏)
  63. instruct_13(); -- 13(D):重新显示场景
  64. instruct_10(92); -- 10(A):加入人物[李沅芷]
  65. do return; end
  66. end --:Label3
  67. instruct_0(); -- 0(0)::空语句(清屏)
  68. instruct_14(); -- 14(E):场景变黑
  69. instruct_3(-2,-2,0,0,0,0,0,0,0,0,0,0,0); -- 3(3):修改事件定义:当前场景:当前场景事件编号
  70. instruct_3(70,1,1,0,199,0,0,7266,7266,7266,-2,-2,-2); -- 3(3):修改事件定义:场景[小村]:场景事件编号 [1]
  71. instruct_0(); -- 0(0)::空语句(清屏)
  72. instruct_13(); -- 13(D):重新显示场景
  73. end
复制代码

好了,试一下效果吧!






评分

参与人数 1声望 +5 收起 理由
陈建北 + 5 好贴奖励

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 10:14 | 显示全部楼层
很不错,这个菜单中置的坐标简洁多了,我那个单纯是从小宝商店上抄来的……
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-9-29 10:56 | 显示全部楼层
回复 kutree 的帖子


嗯,我也是经过多次尝试后,发现这个是比较简洁美观的。。。


PS:狂汉一下,怎么代码又被吃了,写个现场注释版实例就这么难么~~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 11:37 | 显示全部楼层
現在郭襄比較受歡迎
因為有劇情情節
也有天賦效果就是不之道除了郭襄其他幾位能做甚麼效果了!

点评

这位Star大的慧慧补丁不逊于郭襄补丁哦,剧情很好,还拥有先进的特色指令!  发表于 2011-9-29 13:12
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-9-29 13:15 | 显示全部楼层
第三难度可能还会增加两位随机选择的MM

点评

哦?期待一下~~  发表于 2011-9-29 13:22
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-10-13 01:54 | 显示全部楼层
话说有人发现难三新增MM了吗? 国庆版我没招过。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-19 22:34 | 显示全部楼层
回复 StarShine 的帖子

目前是有圖沒人

根據圖片推測 一個是木婉清 一個應該是水笙
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-19 22:38 | 显示全部楼层
895967 发表于 2011-10-19 22:34
回复 StarShine 的帖子

目前是有圖沒人

木婉清和香香公主
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-19 22:40 | 显示全部楼层
回复 水镜四奇 的帖子

原來是香香....

原住中是個天真的花瓶 不知道蒼炎內是怎樣?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-10-20 16:58 | 显示全部楼层
本帖最后由 StarShine 于 2011-10-20 16:59 编辑

原来如此~~ 不知会不会有女主角的新剧情
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-24 13:39

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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