Komputerowiec Napisano Czerwiec 13, 2009 Zgłoś Share Napisano Czerwiec 13, 2009 Elo. Mam problem dotczacy strzalu z mojej broni xd. No wiec wszystko jest zrobione dobrze, strzal leci tam gdzie ma leciec itp. tyle, ze chce jak nacisnie sie zaluzmy 'C' to zeby on tworzyl NOWY obiekt strzaly i takze go wystrzeliwal, mysle, ze to powinno byc tak, ale mi nie dziala ;/: CArrow *arrow = new CArrow; Potem sa te wszystkie obliczenia i strzal, lecz nic sie nie dzieje, nie moge strzelic :/. Prosze o pomoc. Z gory THX. P.S. Jak cos to moge pokazac kod z funkcja strzelajaca. Link do komentarza Udostępnij na innych stronach More sharing options...
Jason Napisano Czerwiec 13, 2009 Zgłoś Share Napisano Czerwiec 13, 2009 Zastosuj jakąś strukturę dynamiczną (np. listę). Do zarządzania wszystkimi pociskami możesz też napisać klasę. W moim projekcie taki sposób zastosowałem, możesz podejrzeć klasy blaster i blastermanager, www.jason.unit1.pl - projekt TooManyTroopers. Link do komentarza Udostępnij na innych stronach More sharing options...
Komputerowiec Napisano Czerwiec 13, 2009 Autor Zgłoś Share Napisano Czerwiec 13, 2009 Tyle, ze nie chce niczego zmieniac bo sie nie polapie . Mam taka funkcje: void CPlayer::Shoot(CCamera& cam, CMD2Model& modelek) { CArrow *arrow; static bool pomoc1 = true; static bool pomoc2 = true; if(keys['C'] && pomoc2 == true) { arrow = new CArrow; pomoc2 = false; } if(pomoc2 == false){ if(true == pomoc1) { arrow->x = cam.GetX(); arrow->y = cam.GetY(); arrow->z = cam.GetZ(); pomoc1 = false; } arrow->speed = 1.0f; static float dir1 = (float)sin(cam.GetHori() * 3.14f/180.0f) * arrow->speed; static float dir2 = (float)cos(cam.GetHori() * 3.14f/180.0f) * arrow->speed; arrow->x += dir1; arrow->z -= dir2; arrow->Render(modelek); } } Gdy klikniemy 'C' to mielismy strzeac, ale cos nie wychodzi . Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Czerwiec 13, 2009 Zgłoś Share Napisano Czerwiec 13, 2009 Nie czytałem całego kodu ale jeśli to jest metoda od strzału to linia: KODarrow->Render(modelek); powinna być niepałanie gdzie indziej (w pętli rysującej scenę). Chyba że w silniku jest zarządzanie renderingiem i model jest gdzieś na listę wrzucany o czym nie wiem w tym przypadku www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
Komputerowiec Napisano Czerwiec 13, 2009 Autor Zgłoś Share Napisano Czerwiec 13, 2009 To jest tylko metoda do wyswietlania modelu . Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.