X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fbassteroids%2Fsource%2Fplayercontroller.cpp;h=066b5f24d002b01f5e68824d620753651ba7bf6a;hb=f11589229323a6919a26f07b2f74bb9ffdd94fb5;hp=65a879d2447727277ce4da16c4b4e1f822f57aef;hpb=94f7e5d28dd0a58f011677db11a0bc65948a2bda;p=libs%2Fgame.git diff --git a/examples/bassteroids/source/playercontroller.cpp b/examples/bassteroids/source/playercontroller.cpp index 65a879d..066b5f2 100644 --- a/examples/bassteroids/source/playercontroller.cpp +++ b/examples/bassteroids/source/playercontroller.cpp @@ -60,11 +60,11 @@ void PlayerController::fire() Game::Handle player_tf = player_ship->get_transform(); Game::Handle player_body = player_ship->get_body(); - bullets.emplace_back(stage.get_root(), bullet_setup); + Game::TransformValues tv; + tv.position = (player_tf->get_world_matrix()*LinAl::Vector(2.0f, 0.0f, 0.0f, 1.0f)).slice<3>(0); + tv.rotation = player_tf->get_rotation()*Geometry::Quaternion::rotation(Geometry::Angle::from_degrees(10), LinAl::Vector(0.0f, 0.0f, 1.0f)); + bullets.emplace_back(stage.get_root(), bullet_setup, tv); Game::Handle bullet = bullets.back(); - Game::Handle bullet_tf = bullet->get_transform(); - bullet_tf->set_position((player_tf->get_world_matrix()*LinAl::Vector(2.0f, 0.0f, 0.0f, 1.0f)).slice<3>(0)); - bullet_tf->set_rotation(player_tf->get_rotation()*Geometry::Quaternion::rotation(Geometry::Angle::from_degrees(10), LinAl::Vector(0.0f, 0.0f, 1.0f))); Game::Handle bullet_body = bullet->get_body(); bullet_body->set_velocity(player_body->get_velocity()+(player_tf->get_world_matrix()*LinAl::Vector(20.0f, 0.0f, 0.0f, 0.0f)).slice<2>(0)); }