zoukankan      html  css  js  c++  java
  • 网络游戏剧情副本的一种实现方式(上)

        在网络游戏中,常常出现一种剧情副本的情况。比如玩家进入游戏后,提示“少侠,欢迎来到新手村,最近野猪一直在骚扰村子,你去打几只吧”。然后镜头移向野猪,野猪做出暴怒的表情。玩家走过去杀死野猪后,将玩家传至主城。

       这个剧情比较简单,实际情况可能要比这复杂的多。在程序中,如何做统一处理呢?

       先写一下大体思路

       我们采用配置的方法,简单来说,前台是基于事件组的节点,后台是调用场景的lua脚本内的函数与前台交互。

        后台向前台发送groupID(事件组ID),前台播放本组内的所有事件。事件内包含属性(即参数)。如果向下执行带有条件判断,比如杀某怪后发生某对话,则后台在判断玩家杀怪数后正确后,会向前台发移到某新group的消息,前台继续执行新的事件组。

       根据“对添加开放,对修改关闭”的原则,我们将前台的每个事件处理类分到不同的类处理,并继承同一个父类。

       后台使用lua写各种的处理函数,如杀怪。当杀怪后,C++将调用lua文件内的函数,函数内部判断如果杀的怪ID是某特定ID,则lua调用C++代码里的发送下个group的消息。前台收到后,则继续执行。

  • 相关阅读:
    golang-grpc-Unimplemented-desc
    redis使用get key中文变成十六进制编码
    golang-generate-1pixel-image
    telnet-redis-quit
    redis hset hmset过期时间
    cookie mapping 原理理解
    excel 表格粘贴到word 显示不完整
    golang-test-tool-gotests
    go build Multiple main.go file
    golang-build-error
  • 原文地址:https://www.cnblogs.com/fox7nights/p/2644337.html
Copyright © 2011-2022 走看看