void GrenadeWeapon::fireMissile(float_t angle, float_t power, Vector2 playerLocation) { Grenade *grenade = new Grenade(); grenade->setDamage(20); grenade->setExplosionRadius(50); grenade->setGravity(.15); grenade->setNumberOfBounces(GRENADE_BOUNCES); grenade->setWidth(2); grenade->setHeight(2); grenade->setPosition(playerLocation.getX() + (grenade->getMissileRadius() + 50) * cos(angle / 180 * M_PI), playerLocation.getY() + (grenade->getMissileRadius() + 50) * sin(angle / 180 * M_PI)); grenade->setVelocity(mMaxShotPower * power * cos(angle / 180 * M_PI), mMaxShotPower * power * sin(angle / 180 * M_PI)); MissileManager::GetInstance()->AddMissile(grenade); }
//グレネード生成 int CharacterScriptInterface::GrenadeGenerate( lua_State * l_) { Character* character = static_cast< Character* >( lua_touserdata( l_, 1 ) ); //printf("aaaa\n"); float spx = lua_tonumber(l_, 2); float spy = lua_tonumber(l_, 3); float svx= lua_tonumber(l_, 4); float svy= lua_tonumber(l_, 5); float fs = lua_tonumber(l_, 6); int da = lua_tonumber(l_, 7); u32 ra = lua_tonumber(l_, 8); u32 cr = lua_tonumber(l_, 9); float bvx = lua_tonumber(l_, 10); float bvy = lua_tonumber(l_, 11); u32 sf = lua_tonumber(l_, 12); int rbx = lua_tonumber(l_, 13); int rby = lua_tonumber(l_, 14); u32 rs = lua_tonumber(l_, 15); Grenade *gre; gre = new Grenade(); gre->Initialize(); gre->setGeneObjType(character->getObjType()); gre->setPosition(LVector3(spx,spy,0)); gre->setVelocity(LVector3(svx,svy,0)); gre->setFallSpeed(fs); gre->setDirection(character->getDirection()); gre->setAttackParam(da,ra,cr,LVector3(bvx,bvy,0),sf); gre->setRandBrow(rbx,rby); gre->setRandStun(rs); return 0; }