本文整理汇总了C++中checkFloatPos函数的典型用法代码示例。如果您正苦于以下问题:C++ checkFloatPos函数的具体用法?C++ checkFloatPos怎么用?C++ checkFloatPos使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了checkFloatPos函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: checkFloatPos
// minetest.line_of_sight(pos1, pos2, stepsize) -> true/false
int ModApiEnvMod::l_line_of_sight(lua_State *L) {
float stepsize = 1.0;
GET_ENV_PTR;
// read position 1 from lua
v3f pos1 = checkFloatPos(L, 1);
// read position 2 from lua
v3f pos2 = checkFloatPos(L, 2);
//read step size from lua
if (lua_isnumber(L, 3))
stepsize = lua_tonumber(L, 3);
return (env->line_of_sight(pos1,pos2,stepsize));
}
开发者ID:korovan,项目名称:minetest,代码行数:16,代码来源:l_env.cpp
示例2: lua_getglobal
// minetest.get_objects_inside_radius(pos, radius)
int ModApiEnvMod::l_get_objects_inside_radius(lua_State *L)
{
// Get the table insert function
lua_getglobal(L, "table");
lua_getfield(L, -1, "insert");
int table_insert = lua_gettop(L);
GET_ENV_PTR;
// Do it
v3f pos = checkFloatPos(L, 1);
float radius = luaL_checknumber(L, 2) * BS;
std::set<u16> ids = env->getObjectsInsideRadius(pos, radius);
lua_newtable(L);
int table = lua_gettop(L);
for(std::set<u16>::const_iterator
i = ids.begin(); i != ids.end(); i++){
ServerActiveObject *obj = env->getActiveObject(*i);
// Insert object reference into table
lua_pushvalue(L, table_insert);
lua_pushvalue(L, table);
getScriptApiBase(L)->objectrefGetOrCreate(obj);
if(lua_pcall(L, 2, 0, 0))
script_error(L, "error: %s", lua_tostring(L, -1));
}
return 1;
}
开发者ID:korovan,项目名称:minetest,代码行数:28,代码来源:l_env.cpp
示例3: checkobject
// set_velocity(self, {x=num, y=num, z=num})
int ObjectRef::l_set_velocity(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
if (co == NULL) return 0;
v3f pos = checkFloatPos(L, 2);
// Do it
co->setVelocity(pos);
return 0;
}
开发者ID:rubenwardy,项目名称:minetest,代码行数:12,代码来源:l_object.cpp
示例4: checkobject
// setacceleration(self, {x=num, y=num, z=num})
int ObjectRef::l_setacceleration(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
if (co == NULL) return 0;
// pos
v3f pos = checkFloatPos(L, 2);
// Do it
co->setAcceleration(pos);
return 0;
}
开发者ID:hondalyfe88,项目名称:MultiCraft,代码行数:13,代码来源:l_object.cpp
示例5: checkFloatPos
// line_of_sight(pos1, pos2, stepsize) -> true/false, pos
int ModApiEnvMod::l_line_of_sight(lua_State *L) {
float stepsize = 1.0;
GET_ENV_PTR;
// read position 1 from lua
v3f pos1 = checkFloatPos(L, 1);
// read position 2 from lua
v3f pos2 = checkFloatPos(L, 2);
//read step size from lua
if (lua_isnumber(L, 3)) {
stepsize = lua_tonumber(L, 3);
}
v3s16 p;
bool success = env->line_of_sight(pos1, pos2, stepsize, &p);
lua_pushboolean(L, success);
if (!success) {
push_v3s16(L, p);
return 2;
}
return 1;
}
开发者ID:malmrose,项目名称:minetest,代码行数:24,代码来源:l_env.cpp
示例6: checkFloatPos
int LuaRaycast::create_object(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
bool objects = true;
bool liquids = false;
v3f pos1 = checkFloatPos(L, 1);
v3f pos2 = checkFloatPos(L, 2);
if (lua_isboolean(L, 3)) {
objects = lua_toboolean(L, 3);
}
if (lua_isboolean(L, 4)) {
liquids = lua_toboolean(L, 4);
}
LuaRaycast *o = new LuaRaycast(core::line3d<f32>(pos1, pos2),
objects, liquids);
*(void **) (lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, className);
lua_setmetatable(L, -2);
return 1;
}
开发者ID:EXio4,项目名称:minetest,代码行数:24,代码来源:l_env.cpp
示例7: checkobject
// setvelocity(self, {x=num, y=num, z=num})
int ObjectRef::l_setvelocity(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
v3f pos = checkFloatPos(L, 2);
PlayerSAO* ps = getplayersao(ref);
if (ps) {
ps->addSpeed(pos);
return 0;
}
LuaEntitySAO *co = getluaobject(ref);
if (co == NULL) return 0;
// Do it
co->setVelocity(pos);
return 0;
}
开发者ID:Mab879,项目名称:freeminer,代码行数:20,代码来源:l_object.cpp
注:本文中的checkFloatPos函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论