通过Reworld触发游戏人物死法之砸死

运行环境

Win7,Win8,Win10 win64

Reworld版本 体验版

 

针对零基础读者的补充

下载安装 Reworld对应版本

Reworld官网链接:http://www.reworlder.com/

下载后安装后注册账号打开空地图

思路分析:

要实现游戏人物的砸死首先需要一个条件,只有当玩家触发这个条件时才会引发游戏人物被砸死,在这里我采用的是当人物到达某一地点时石块从天上坠落,当人物被石块触碰到时人物角色死亡。

   简单起见,可以在想要触发的位置放一个触发块,当玩家与触发块产生碰撞时,克隆一个石头,将石头放到人物头顶并让其坠落就可以了。

功能效果展示

场景搭建

一、搭建过程

在素材箱中搜索石头,购买并下载,点击石头模型将其添加到场景中,并将名称修改为stone。取消锚定,点击stone后面的加号,添加服务器脚本,命名为die。

创建零件作为触发块。为触发块添加服务器脚本,当玩家触碰到触发块时石头掉下。

双击打开命名为die的服务器脚本,代码如下:

script.Parent.CollisionEnter:Connect(function(res)--检测到碰撞时执行

    if res:IsClass("Avatar")--如果对象是人物角色

    then

    res.Health = 0 --血量掉为0

  end

end)

双击打开触发块的服务器脚本,代码如下:

script.Parent.CollisionEnter:Connect(function(res)--检测到碰撞时执行

    if res:IsClass("Avatar")--如果对象是人物角色

  then

    local temp = WorkSpace.stone:Clone()--克隆石头

temp.Position =

Vector3.New(res.Position.x,res.Position.y+5,res.Position.z)

--将克隆的石头移动到人物头顶

  end

end)

触发机制为人物触碰到触发块石头落下,所以为触发块添加碰撞检测。人物碰到石头死亡,所以为石头添加碰撞检测,检测到与人物碰撞则人物死亡。

二、补充说明

1.什么是零件?

零件是一个物理对象,当零件在工作区WorkSpace中时,零件可以移动、变化外形体积、并与其他零件交互。零件是构建世界的基础元件,几乎所有物体都是用零件构建的,可以改变零件大小制作大底板,也可以零件合并、切割创建异形块,也可以使用零件制作角色和工具。

 

2.什么是服务器脚本?

   只会在服务器运行的Lua脚本代码,用于编写服务器逻辑。

      

3.为什么要使用服务器脚本?

   基于冲刺功能适用於单人和多人等不同环境,所以采用通用的服务器脚本。

  1. 服务器脚本与客户端脚本不同,客户端执行的操作只有本地客户端,也就是玩家自己有效。而服务器执行的操作不仅针对单人有效,还针对与服务器相连的所有客户端同步生效。
  2. 在多人游戏中,如果这个对象的变化是针对一个人的,必须在客户端脚本进行编写;如果这个对象的变化是针对所有人的,那就必须在服务器脚本进行编写。
  3. 对于只能在客户端脚本修改的对象,如何让服务器知晓变化结果是很重要的。这里采用传统游戏的制作流程,也就是在客户端进行修改,把修改后的结果通过与服务器通信的方式发送到服务器,再通过服务器进行逻辑运算,把执行结果再同步给所有客户端。

 

好了,那么本次功能到这里就完美实现了分享到这里啦,大家可以去尝试一下!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章