导航

    唤境开发社区

    • 登录
    • 搜索
    • 版块
    • 最新
    • 话题
    • 热门
    • 用户
    1. 主页
    2. zmxnvfgt
    3. 主题
    • 资料
    • 关注
    • 粉丝
    • 主题
    • 帖子
    • 最佳
    • 群组

    zmxnvfgt 创建的主题

    • zmxnvfgt

      tilemap图块问题
      如何实现XXX功能? • • zmxnvfgt  

      4
      0
      赞同
      4
      帖子
      31
      浏览

      ?

      比图块小,那就是精灵尺寸比tilemap图块尺寸小?那就直接比较尺寸,然后判断精灵是否和tilemap重叠(重叠判定的话我记得需要给tilemap绘制碰撞区,另外如果tilemap如果是铺满屏幕的,这一步也可以省去,主要是考虑到两者不重叠的情况),最后用一些比较值的条件结合tilemap的这三个表达式来判断精灵在哪个图块上就行(表达式从官网复制的,你自己加前缀的对象名和改成你实际所需的参数):tileat(x,y)给出图块XY编号,返回该图块的索引positiontotilex(x)给出x坐标,返回图块的X编号positiontotiley(y)给出y坐标,返回图块的Y编号因为我这里对你所说的“某一图块”是理解成某种图块,也就是图块索引(绘制图块时,图块列表的第几块),所以给了tileat(x,y)这个表达式,如果不是这个意思的话,你可以再按自己的实际情况去使用这些表达式。
    • zmxnvfgt

      方格中放置东西
      新人提问 • • zmxnvfgt  

      4
      0
      赞同
      4
      帖子
      17
      浏览

      zjxdiu

      @zmxnvfgt 无限大的地图可以参考minecraft等游戏的思路,将地图按照固定的大小分成区块,然后先生成玩家附近的一些区块;当玩家走出某个区块的时候再继续生成这个方向后面的区块。这个的运行原理可以参考官方Wiki:https://minecraft.fandom.com/zh/wiki/%E5%8C%BA%E5%9D%97不过具体实现起来应该不简单,而且唤境由于只能使用单核进行运算,生成的速度会比较慢,而且计算的卡顿会直接体现在画面上。如果是随机地图的生成算法的话,这个帖子里有实现的事件:https://bbs.evkworld.cn/topic/583/ ;但就我个人的测试体验来说,一张约200x50的地图迭代一次就需要不止1分钟,而一般至少要迭代3次才能生成出比较好看的结果,速度是比较慢的(当然他的写法还能优化,但我觉得达不到minecraft的那种速度)。
    • zmxnvfgt

      随机一个位置生成精灵
      如何实现XXX功能? • • zmxnvfgt  

      2
      0
      赞同
      2
      帖子
      24
      浏览

      ?

      @zmxnvfgt 如果格子本身是一个实例,那最简单,用系统组件条件的选中随机实例,然后创建实例的时候引用格子的坐标即可,如果是单纯的位置数据,视做法逻辑量有高有低,最直接的做法是找个变量,然后设置值为choose("x1,y1","x2,y2","x3,y3")(参数可以继续加,就是把坐标点按固定格式的字符串作为参数加入到choose表达式中去随机),设置值完毕后,这个变量就得到了一个坐标点的字符串,然后要创建实例的时候,x坐标和y坐标分别用tokenat表达式把这个变量的值切割开来用就行了,记得用int或float转换成数值格式,例如x坐标就是填 int(tokenat(变量名,0,",")) y坐标就是填 int(tokenat(变量名,1,","))
    • zmxnvfgt

      求怎么做???钩锁
      如何实现XXX功能? • • zmxnvfgt  

      2
      0
      赞同
      2
      帖子
      22
      浏览

      ?

      @zmxnvfgt 如果不要求晃动效果,仅拉伸部分很好做,钩锁线用一个锚点在左边中点,高度很小的方块,释放钩锁时,在角色手上创建一个透明判定用的子弹(或者不透明的钩锁头,主要是用来判定什么时候勾到障碍物的),按发射角度设置它的运动角度,同时创建一个钩锁线对象,每帧设置位为角色手位置的坐标,设置角度为朝向判定子弹的位置,设置宽度为它本身的坐标到子弹位置的距离,然后判定子弹碰撞障碍物时停止移动,人物朝子弹位置方向移动即可。如果要求要晃动,最自然的效果好像是用物理能力来做,但是我用不来,看哪位大佬有其他思路吧。
    • zmxnvfgt

      创建距离连结
      新人提问 • • zmxnvfgt  

      2
      0
      赞同
      2
      帖子
      9
      浏览

      zjxdiu

      @zmxnvfgt 是需要保持两个精灵之间的距离固定嘛?用绑定能力应该就可以了,如果需要相对位置也固定就选位置绑定,同时还提供绳子绑定(虽然我自己没用过几次,不是很清楚具体怎么用,不过大概能满足你的需求
    • zmxnvfgt

      弹力绳子
      如何实现XXX功能? • • zmxnvfgt  

      2
      0
      赞同
      2
      帖子
      18
      浏览

      ?

      @zmxnvfgt 物理能力的链接效果天然有弹力的效果的吧,用那个应该就行了