Skocz do zawartości

kt1117

Użytkownicy
  • Postów

    1 103
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez kt1117

  1. Ja dałbym coś w stylu GML sound_volume(dźwięk,min(0,1-ln(distance_to_object(wskazany obj))/ln(maksymalna_odleglosc))) ln bo ludzki słuch logarytmuje
  2. Ale zdajesz sobie sprawę że to działa liniowo od ilości zmiennych? To będzie działało wolno.
  3. Będziesz potrzebował do tego jakiejś struktury danych, poczytaj o hasmapach, ewentualnie BST (łatwiej zaimplementować)
  4. kt1117

    Witam :)

    Międzyplanetarne pisze się razem. Nie żebym się czepiał, po prostu piszesz już całkiem poprawnie to poprawiam żebyś dążył do ideału.
  5. Poczytaj sobie o pętlach, tutaj repeat się przyda jeśli jeszcze istnieje, w innym przypadku for.
  6. Ja nie mogę, aż się zalogować musiałem. Z jakiego? Napisze z całkiem innego i nie rozwinie, co za człowiek. B) BTW. tak mi się coś wydaje że jest 30-2D, 60-3D, 90-Ocullus Rift
  7. kt1117

    Global Game Jam

    Ja w Gdańsku
  8. kt1117

    Filmy

    Ja ostatnio oglądałem 3 całkiem fajne: -6 kul Trzyma w napięciu, jest kilka fajnych zwrotów akcji i co najważniejsze dobrze się czułem po obejrzeniu -memento Ciekawe, nie powiem nic więcej bo spojlery -wyspa tajemnic Podobne do memento, fajnie się ogląda i pozostawia trochę do myślenia
  9. Żona do męża -Nie mogę otworzyć słoika -Ściągnij i zainstaluj Jave (Podpowiedź:tłumaczone z angielskiego)
  10. W Create daj GML image_speed=0//bo ma stać na początku
  11. Z kolizjami będzie pewnie problem, bo obraca się tylko obrazek. Jak chcesz je wykrywać to zrób drugi sprite i niech to jest sama kula tego wahadła, nadaj go obiektowi i wyłącz visible. I teraz: Step GML licznik+=0.3//Szybkość wahadła odchyl=22//Jak bardzo ma się odchylać x=lengthdir_x(długość_wachadła,sin(licznik)*odchyl)+xstart y=lengthdir_y(długość_wachadła,sin(licznik)*odchyl)+ystart Draw GML draw_sprite_ext(ten_sprite_co_teraz,xstart,ystart-długość_wachadła,/*jakieś argumenty*/,image_angle,/*jakieś inne argumenty*/)//jak to wypełnić znajdziesz w dokumentacji</span> To powinno już mniej więcej ogarniać kolizję. Nie podałem całego kodu bo nie pamiętam, a dla ciebie też lepiej bo będziesz zmuszony rozumieć co robisz.
  12. Nie tam ma pewnie wszystko dobrze, pokaż wyświetlanie. Pewnie bar myśli że maks to mniej niż jest naprawdę
  13. Jak bym zrobił jakoś tak GML string_copy(string(10000000000+cash),1,11)
  14. kt1117

    Co nowego u was?

    Ja też żadnej gry nie zrobiłem, zacząłem kiedyś jedną, silnik już gotowy praktycznie był ale coś się rozjechało. Sam nie potrafię nic zrobić, bo uważam wszystkie moje próby za niegrywalny crap i wywalam. Oprócz tego skończyłem bardzo dobre liceum, ale za porażkę uważam to że mimo tego nie mam nawet finalisty OI i do Warszawy bym się nie dostał na studia, także za 2 dni jadę do Gdańska. Pracy nie mam, będę chyba próbował do maka na pierwszy semestr a potem na jakiś staż do Intela albo innej Invidii.
  15. Funkcja chyba get_string Robisz zmienna=get_string("Podaj imię","Jan"); I potem gdzieś używasz tej zmiennej.
  16. Ja to samo co explosivo Ubuntu 14.04 Chromium NVIDIA 352.21 GeForce GT 520M (1GB)
  17. A oprócz tego później będziesz mógł łatwo dodać to że wróg podnosi jakąś broń i zmienia się prędkość lasera itd. Jedyny minus to jest to że musisz to wszystko zrozumieć i podzielić sobie na części.
  18. A spróbuj tego: GML var stopped; stopped=0; image_angle = direction; if distance_to_object(obj_player)<90 { stopped=1 if obj_player.x>x image_xscale=1; else image_xscale=-1; if( strzal ) { var i; i = instance_create( x, y, obj_laserek ); i.speed = 10; i.hspeed=image_xscale*10; strzal = 0; alarm[0]=room_speed*0.2 } } else { if alarm[1] = -1 alarm[1] = room_speed+random(room_speed*2); if (place_free(x+image_xscale*5,y) && instance_position(x+image_xscale*5,y+32,par_solid)) x+=image_xscale*5; else image_xscale*=-1; } //naprawiamy bugujacego sie wroga przy zawracaniu przeszkoda par_solid if (place_meeting(x+5,y,par_solid) || place_free(x+5,y+32)) && image_xscale = 1 { image_xscale = -1; } if (place_meeting(x-5,y,par_solid) || place_free(x-5,y+32) && image_xscale = -1 { image_xscale = 1; } ///Ruch wroga z odwracaniem go przez obiekty dziedziczace z par_solid if !place_meeting(x+sign(image_xscale),y-2,par_solid) { if image_xscale > 0 { hspd = min(hspd+sign(image_xscale),2); } else if image_xscale < 0 { hspd = max(hspd+sign(image_xscale),-2); } } if hspd == 0 { image_xscale *= -1; unstick(8); } //Obrazenia wroga if hurtClock > 0 { visible = !visible; hurtClock -= 1; } else { visible = true; } if hp <= 0 { instance_destroy(); instance_create(x,y+50,choose(obj_coin,object102)) // daje losowy item np monety albo jabłuszka with instance_create(x,y,obj_entity_die) { sprite_index = DinoGinie; //sprite do poruszania sie wroga image_xscale = other.image_xscale; image_yscale = other.image_yscale; hspd = other.hspd; vspd = other.vspd; } } if (stopped) hspd=0; // czasowy respawn wrogow troche pomeczyles sie ale dziala jak trzeba :) if (dead == true) { //obj_spawn.dead = true; //respawn zabitego wroga jak nie bedzie dzialac to wtedy dead=true i wpisac instance_create(x,y,obj_spawn) instance_create(x,y,obj_spawn_dino); } No to prawda że się spaghetti porobiło trochę i ciężko się to czyta.
  19. Macierz kamery powinna być chyba łatwa do wyliczenia, jeżeli jest nieosobliwa to podzielisz przez nią. Ale podejrzewam że nie zawsze tak będzie więc to może być trudne. Ewentualnie spróbuj napisać DLL do tego. Co prawda dalej będziesz wykonywał te obliczenia 2 razy, ale w C++ powinno szybciej działać,
  20. Tam masz w kodzie par_solid_ghost, wydaje mi się że powinno być par_solid po prostu. Ogólnie nie rozumiem dlaczego wszędzie nie masz par_solid przy tych kolizjach, przecież wszystko po tym dziedziczy.
  21. Proponowałbym mnożenie macierzy zaimplementować. Na wiki powinieneś znaleźć jak wygląda macierz translacji, skalowania i rotacji. Potem robisz skalowanie*rotacja*translacja. A na końcu mnożysz przez wektor początkowy i powinieneś otrzymać w wektorze końcowym wyniki.
  22. Rekurencyjnie przez for? xD To nie oksymoron?
  23. I NIC nie rób na tym dysku do momentu zrobienia kopii. Nadpisujesz dane i zmniejszasz prawdopodobieństwo odzyskania danych. Ewentualnie są programy do restaurowania tablicy alokacji, jeżeli nic z tym nie robiłeś od momentu utraty danych to duże prawdopodobieństwo że odzyskasz cały system plików.
×
×
  • Dodaj nową pozycję...