Skocz do zawartości

I am Lord

Użytkownicy
  • Postów

    4 891
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    53

Treść opublikowana przez I am Lord

  1. No to niech tych źródeł sobie będzie więcej niż 8 ale musisz zrobić jakiś system zarządzania taki by na raz świeciło tylko 8 z nich. Lub poszukać jakiegoś rozwiązania wypalania świateł na textury. Na forum yoyogames ludziom udało się takie wypalanie świateł zrobić na surface i shaderach. Poszukaj coś w hasłach "Lighting texture bake", "Baking shadows" itp. Taki minecraft nie ma dynamicznych oświetleń, postawienie pochodni wypala textury. Edit: Coś znalazłem http://gmc.yoyogames.com/index.php?showtopic=450622
  2. Nie można więcej niż 8 naraz, musisz sobie zrobić jakiś cwany system zarządzania oświetleniem tak by nie przekroczyć tego limitu. Co ze światłami robisz że już osiągnąłeś limit. Ja zwykle używam 2. Direction_light jako słońce, point_light jako pochodnia gracza. Btw teraz ta gra wygląda dużo lepiej :P
  3. Jak dla mnie pasuje w sam raz.
  4. Tak jak by działa. Może masz jakąś starą wersję GMS z bugiem?
  5. Ale nadal window_set_size działa tylko w 1 roomie. Potem już nie można zmieniać rozmiaru o ile dobrze pamiętam.
  6. GMS rozmiar okna ustala pierwszy room i nigdy nie może się już zmienić. To takie ograniczenie w stosunku do GM8.1
  7. I am Lord

    Battlefield 2D

    Hahaha yoyogames, śmieszna firma xD
  8. Kombinuj z kolejnością eventów. Spróbuj d3d_set_lighting() włączać w innym evencie niż wyłączać, przenosić HUD do innych eventów itp. Mi się tak metodą prób i błędów udało wyłączyć oświetlenie w HUDzie. Ten system oświetlenia w GMS jest jakiś porąbany zawsze mi sprawia problemy w GM8.1 wszystko elegancko działało.
  9. I am Lord

    Battlefield 2D

    Ale team ficzerki są w pro nie standard :P
  10. Generalnie jak widzę kod napisany w taki sposób jak twój. Nieczytelny bez zastosowania żadnego ogólnie przyjętego formatowania kodu to omijam takie tematy szerokim łukiem. http://en.wikipedia.org/wiki/Programming_style
  11. Tak gra mu się też rozjaśni nie tylko hud :P
  12. A bo to GMS faktycznie tam jakoś inaczej światła działały też miałem taki problem ale nie pamiętam jak go rozwiązałem.
  13. Tamto co podał Psyś nie jest dostosowane do unity. Poszukałem czegoś łatwego i znalazłem to: http://wiki.unity3d.com/index.php/SimpleJSON Ta biblioteka ma jedną wadę że wszystko wczytuje jako stringa, niezależnie od tego czy wartości to int, bool, null. I trzeba ręcznie każdą wartość tablicy w pętli konwertować albo czegoś nie rozumiem :D Anyway takie coś zrobiłem i działa dobrze: Wczytywanie z uwzględnieniem braku pliku. GML if (File.Exists(Application.persistentDataPath + "/Arrays.json")) { JSON_Node = JSONNode.LoadFromFile(Application.persistentDataPath + "/Arrays.json"); // wczytywanie pliku JSON Debug.Log("Loaded " + JSON_Node["MapUnlocked"].ToString()); // wypisanie zawartosci tablicy w konsoli // konwertowanie tablicy JSON (string na int) for (int i = 0; i < JSON_Node["MapUnlocked"].Count; i++) { mapUnlocked = JSON_Node["MapUnlocked"].AsInt; } } else { // tworzenie nowego pliku JSON z początkowymi wartościami JSON_Node = JSONNode.Parse("{\"MapUnlocked\":[1,1,1,1,0,0,0,0]}"); Debug.Log("Created file " + JSON_Node.ToString()); JSON_Node.SaveToFile(Application.persistentDataPath + "/Arrays.json"); } Zapis: GML for (int i = 0; i < mapUnlocked.Length; i++) { JSON_Node["MapUnlocked"].AsInt = mapUnlocked; } Debug.LogWarning( "Saved "+JSON_Node["MapUnlocked"].ToString(" ") ); JSON_Node.SaveToFile(Application.persistentDataPath + "/Arrays.json");
  14. przed rysowaniem penelu wywołaj GML d3d_set_lighting(false) a po rysowaniu włącz spowrotem d3d_light_enable(1,true) << to włączaj jednorazowo w create jak światło ma się ciągle świecić. Nie potrzebie zwalniasz działanie gry bo masz to w draw. A i pierwszy index światła to 0 nie 1.
  15. I am Lord

    DORG

    Sprawdzałeś jak to będzie wyglądać jakimś globalnym oświetleniem + ambient light?
  16. I am Lord

    Galeria Grafik

    Tylko nie przesadzaj bo zamienisz się furryfaga :P
  17. A która wersja jest kompatybilna z .net 3.5 bo taki aktualnie unity używa. I mógłbyś wyjaśnić jak to zlinkować, używam VSe 2013 a nie Mono
  18. I am Lord

    Foto-galeria

    Sorry też tak myślałem :P Tego chyba wam nie pokazywałem
  19. I am Lord

    Evils Return

    Ta czcionka na 1 screenie jest cudowna, co to?
  20. A nie będzie problemu że robię pod androida? Znalazłem to http://whydoidoit.com/unityserializer/ zabieram się do lektury :P chyba nie zbyt to kompatybilne z Unity4.5.1 bo nawet example sypie błędami
  21. Robiąc w unity natknąłem się na problem zapisu customowej klasy do pliku, która zawiera tablice. Nie korzystam tutaj z serializacji wbudowanej w unity tylko z tej domyślnej z .net Mam sobie taką klasę i ją chcę zapisać do pliku GML [Serializable] public class ArraysToSerialize { public int[] mapUnlocked = new int[] { 1, 1, 1, 1, 0, 0, 0, 0 }; } Zapis: GML public ArraysToSerialize Arrays = new ArraysToSerialize(); BinaryFormatter bf3 = new BinaryFormatter(); FileStream file3 = File.Create(Application.persistentDataPath + "/arrays.dat"); bf3.Serialize(file3, Arrays); file3.Close(); Wczytywanie: GML // 3 plik if (File.Exists(Application.persistentDataPath + "/arrays.dat")) { var b = new BinaryFormatter(); var f = File.Open(Application.persistentDataPath + "/arrays.dat", FileMode.Open); ArraysToSerialize arrays = (ArraysToSerialize)b.Deserialize(f); f.Close(); mapUnlocked = arrays.mapUnlocked; } else { Debug.LogError("No file to load"); } No i to działa tak że jeżeli nie znajdzie pliku to wczytywanie jest pomijane a gra mi później ten plik tworzy. Potem jak się ją uruchomi ponownie to plik już istnieje i wszystko się poprawnie wczytuje. Ale problem się pojawia wtedy kiedy zechcę dopisać do klasy ArraysToSerialize kolejną tablicę do zapisu do pliku. Np. GML [Serializable] public class ArraysToSerialize { public int[] mapUnlocked = new int[] { 1, 1, 1, 1, 0, 0, 0, 0 }; public int[] nowaTablica = new int[] { 0, 3, 2, 4, 6, 5 }; } Bo wtedy plik "arrays.dat" już istnieje ale wewnątrz niego nie ma tablicy nowaTablica i wywala error przy wczytywaniu. Żeby to zadziałało musiał bym usunąć ręcznie plik "arrays.dat" i wtedy gra by sobie go na nowo poprawnie zapisała. Słyszałem że do takich rzeczy wykorzystuje się try, catch, finally ale nie mam pojęcia jak to działa.
  22. I am Lord

    Evils Return

    fuq, pierwszy raz żałuję że nie mam jeszcze smartfona xD
  23. I am Lord

    Dwarf Fortress

    Zaraz, stonesense jest wbudowany w grę? WAT
×
×
  • Dodaj nową pozycję...