Mercurial > hg > Game > Cerium
view TaskManager/Test/test_render/direction.cpp @ 243:c4918a1fb6c9 draft
rm warning
author | e065746@localhost.localdomain |
---|---|
date | Sun, 31 May 2009 16:26:20 +0900 |
parents | c020ccff4627 |
children | ce86b0186a4a |
line wrap: on
line source
#include "SceneGraphRoot.h" #include "SGList.h" static void x_move(SceneGraphPtr node, int w, int h) { Pad *pad = sgroot->getController(); node->xyz[0] = w/2; node->xyz[1] = h/2; if (pad->circle.isPush() || pad->circle.isHold()) { node->angle[1] += 10.0f; if (node->angle[1] > 360.0f) node->angle[1] = 0.0f; } if (pad->triangle.isPush() || pad->triangle.isHold()) { node->angle[0] += 10.0f; if (node->angle[0] > 360.0f) node->angle[0] = 0.0f; } if (pad->start.isPush()) { node->angle[0] = 0.0f; node->angle[1] = 90.0f; } } static void y_move(SceneGraphPtr node, int w, int h) { Pad *pad = sgroot->getController(); node->xyz[0] = w/2; node->xyz[1] = h/2; if (pad->cross.isPush() || pad->cross.isHold()) { node->angle[2] += 10.0f; } if (pad->square.isPush() || pad->square.isHold()) { node->angle[0] += 10.0f; } if (pad->start.isPush()) { node->angle[0] = 90.0f; node->angle[1] = 0.0f; } } static void z_move(SceneGraphPtr node, int w, int h) { node->xyz[0] = w/2; node->xyz[1] = h/2; } static void dir_collision(SceneGraphPtr node, int w, int h, SceneGraphPtr tree) { } void direction_init(void) { SceneGraphPtr dx; SceneGraphPtr dy; SceneGraphPtr dz; SceneGraphPtr back; sgroot->createFromXMLfile("xml_file/direction.xml"); dx = sgroot->createSceneGraph(Dirx); dy = sgroot->createSceneGraph(Diry); dz = sgroot->createSceneGraph(Dirz); back = sgroot->createSceneGraph(); back->addChild(dx); back->addChild(dy); back->addChild(dz); dx->set_move_collision(x_move, dir_collision); dx->angle[1] = 90.0f; dy->set_move_collision(y_move, dir_collision); dy->angle[0] = 90.0f; dz->set_move_collision(z_move, dir_collision); back->angle[0] = 30.0f; back->angle[1] = -30.0f; sgroot->setSceneData(back); }