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

Project1

 找回密码
 注册会员
搜索

请教随机遇敌怪物出现的位置

查看数: 1475 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-2-21 09:14

正文摘要:

本帖最后由 czsRwind 于 2014-2-24 11:13 编辑 请教下各位大大,我用的是下面这个随机遇敌系统。 然后随机出现的怪物位置很无序,想请教一下大大们,怎么设置为固定位置。 出现的位置大致为这个区域,且最好是能 ...

回复

sh0016 发表于 2014-2-23 00:16:04
抱歉,对于卡我也无能为力......不知道简化下写法可否?

  1.           member.x = 240 - (i > 4 ? i + 1 : i) * 20
  2.           member.y = 160 + (i > 4 ? i - 4 : i) * 25
复制代码

点评

我去试试看,谢谢你的简化!  发表于 2014-2-23 11:02
tan12345 发表于 2014-2-21 12:00:47
具体怎么排你自己写,我负责解释吧。
space = [rand(480 / n), 64].max
这句的意思是,设定间隔space的值为:取0到480除以敌人数量的随机值(比如只有1个敌人,那么480/1=480,取0-480之间的随机一个数值),和64比较,取大的那个(比如前面随机出18这个随机值,18和64,64大,间隔space就等于64;如果前面随机到100,100比64大,那么space就等于100),我这样解释你OK?
member.x = i * space + 272 - (n - 1) * space / 2 + rand(32) - 16
这句话我先翻译一下,member.x就是敌人的x坐标,i代表第几个敌人(比如一共有5个敌人,第1个敌人i就是0,第2个敌人i就是1,第3个敌人i就是2,依此类推),后面有个rand(32)意思是0-32的随机值,我这样一翻译,整句话的意思是:
敌人的x坐标就等于第几个敌人乘以间隔,再加上272,减去……忽然发现好累,{:2_270:}你自己看吧
member.y = 232 + rand(64) + (i % 2 * 24)
我只翻译,不说话:敌人的y坐标,等于232加上0到64的随机任意一个数,加上敌人是单数还是双数?(单数就是加上0,双数就是加上24)

点评

谢谢你这么详细的解释,其实这个我也看懂那么一些,从早上到现在也在一直测试。不过还是谢谢你i  发表于 2014-2-21 12:34
czsRwind 发表于 2014-2-21 11:29:18
tan12345 发表于 2014-2-21 10:49
77行到79行
77行设定间隔
78行设定x坐标

这个我知道,不过公式的计算上面很费劲,我试过很多种,最好的一种也只是成一排队形,而且是从左上到右下的排列。我想请教的是,有没有办法让敌人出现的排列是从右上到左下的,然后敌人数量超过5的时候,第5个敌人开始从第二排开始排列。
tan12345 发表于 2014-2-21 10:49:57
77行到79行
77行设定间隔
78行设定x坐标
79行设定y坐标
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-1-16 15:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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