本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订 。
MMORGP大型游戏设计与开发(客户端架构 part8 of vegine) - 恋月 阅读原文»
脚本模块是游戏设计中争论比较多的话题,那是因为作为脚本本身所带来的利弊。其实这都无关紧要,取舍是人必须学会的一项技能,如果你不会取舍那么就让趋势给你一个满意的答复。自从魔兽世界以及传奇(世界)问世以来,它们都伴随着脚本(LUA)配置,想一想为什么会用到脚本,其根本的原因在于脚本比较方便,改动的时候也无需考虑过多。个人一直坚持使用脚本就在此,另一方面是因其他高级语言,特别是C/C++与它的基本上是无缝的耦合所带来的便利,也成为我选择它的重要原因。
CODE
文件environment.h
/**
* PAP Engine ( -- )
* $Id environment.h
* @link -- for the canonical source repository
* @copyright Copyright (c) 2013-2014 viticm( viticm@126.com )
* @license
* @user viticm<viticm@126.com/viticm.ti@gmail.com>
* @date 2014-3-19 19:36:10
* @uses vengine script environment module
*/
#ifndef VENGINE_SCRIPT_ENVIRONMENT_H_
#define VENGINE_SCRIPT_ENVIRONMENT_H_
#include "vengine/config.h"
#include "vengine/kernel/node.h"
/* use luaplus */
namespace LuaPlus {
class LuaState;
class LuaObject;
}; //namespace LuaPlus
namespace vengine_script {
class Environment {
public:
virtual const char* getname() const = 0;
virtual int32_t executescript(const char* filename) = 0;
virtual void executefunction(const char* functionname,
const char* param = NULL) = 0;
virtual void executestring(const char* str) = 0;
virtual LuaPlus::LuaObject* get_luaobject() = 0;
};
}; //namespace vengine_script
* PAP Engine ( -- )
* $Id environment.h
* @link -- for the canonical source repository
* @copyright Copyright (c) 2013-2014 viticm( viticm@126.com )
* @license
* @user viticm<viticm@126.com/viticm.ti@gmail.com>
* @date 2014-3-19 19:36:10
* @uses vengine script environment module
*/
#ifndef VENGINE_SCRIPT_ENVIRONMENT_H_
#define VENGINE_SCRIPT_ENVIRONMENT_H_
#include "vengine/config.h"
#include "vengine/kernel/node.h"
/* use luaplus */
namespace LuaPlus {
class LuaState;
class LuaObject;
}; //namespace LuaPlus
namespace vengine_script {
class Environment {
public:
virtual const char* getname() const = 0;
virtual int32_t executescript(const char* filename) = 0;
virtual void executefunction(const char* functionname,
const char* param = NULL) = 0;
virtual void executestring(const char* str) = 0;
virtual LuaPlus::LuaObject* get_luaobject() = 0;
};
}; //namespace vengine_script
没有评论:
发表评论