Skocz do zawartości

Mateusz Nejman

Użytkownicy
  • Postów

    350
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez Mateusz Nejman

  1. Możesz to zrobić na kilka sposobów:

    1. Zrobić funkcje statyczną i po prostu w tych klasach robisz funkcję która używa tej statycznej funkcji

      public static int FunkcjaZkodem(int argument)
      {
          /*
          Jakiś kod
          */
          return coś tam;
      }

      i w jakiejś tam klasie np.

      private int Funkcja(int argument)
      {
          return Blabla.FunkcjaZkodem(argument)
      }

    2. dopisać do nazwy klasy inną klasę po dwukropku(nie pamiętam jak to się nazywało :D)

      public class KlasaZFunkcja
      {
          public int FunkcjaZkodem(int argument)
          {
              /*
              Jakiś tam kod
              */
              return coś tam;
          }
      }
      
      public class Klasa : KlasaZFunkcja
      {
          /*
          Coś tam
          */
      }

      i wtedy używasz tej funkcji jakby była w tej klasie :D

  2. * What went wrong:

    A problem occurred configuring project ':com.companyname.SpaceCubez'.

    > A problem occurred configuring project ':facebook'.

    > Could not resolve all dependencies for configuration ':facebook:_debugCompile'.

    > Could not find com.android.support:support-v4:23.0.1.

    Searched in the following locations:

    https://jcenter.bintray.com/com/android/sup...t-v4-23.0.1.pom

    https://jcenter.bintray.com/com/android/sup...t-v4-23.0.1.jar

    Required by:

    Default:facebook:unspecified

     

    * Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

     

    Ktoś jest w stanie pomóc mi z rozwiązaniem tego problemu?

     

    W menadżerze pakietów musisz dościągnąć jakąś paczkę z supportem(nie powiem dokładnie którą bo nie mam android SDK na lapku)

  3. Witajcie wszyscy! Mam problem z którym nie mogę sobie poradzić od kilku dni. Rysuję sobie mapę takim kodem:

    Rectangle destinationRectangle =
                     new Rectangle(0, 0, 128, 64);
                 for (int y = 0; y < map.MapDimensions.Y; y++)
                 {
                     for (int x = 0; x < map.MapDimensions.X; x++)
                     {
                         int poprawkaX = x * v1 - y * v2 + TileOffset;
                         int poprawkaY = x * v3 + y * v4;
                         destinationRectangle.X =
                             (int)mapOriginPosition.X + poprawkaX;
                         destinationRectangle.Y =
                             (int)mapOriginPosition.Y + poprawkaY;
    
                         if (CheckVisibility(destinationRectangle))
                         {
                             Point mapPosition = new Point(x, y);
                             if (drawBase)
                             {
                                 Rectangle sourceRectangle = new Rectangle(64*(map.BaseLayerMulti[x,y]-(int)(Math.Floor((double)(map.BaseLayerMulti[x,y]/10))*10)),(64* (int)(Math.Floor((double)(map.BaseLayerMulti[x, y] / 10)))) +32,64,32);
                                 spriteBatch.Draw(map.Texture, destinationRectangle,
                                         sourceRectangle, Color.White);
                             }
                         }
                     }
                 }

     

    I problem mam z przekonwertowaniem współrzędnych(destinationRectangle) do mapy w rzucie izometrycznym(0;0, 1;2...)

  4. Mateusz,a nie jest to zmienna liczbowa? kurcze..to jakiej użyć? bo się pogubiłem,ja z doskoku działam w GMS dobrze,że mój człowiek nie długo wraca;)Tak to jest jak grafik zajmuje się programowaniem,coś tam wychodzi ,ale zawodowcem nie jestem;)

    Zmienna liczbowa a liczba to nie to samo. roznica to miała być zmienna liczbowa.

     

    Ja też zawodowcem nie jestem. Proste operacje na zmiennych to podstawa. Jak nie masz takich podstaw ogarniętych to za co ty się bierzesz. https://gmclan.org/index.php?wiki tutaj masz link do dokumentacji.

  5. Mateusz zrobiłem tak:

     

    w obj_game_controller dodałem taką zmienną w create

     

    o nazwie

     

    GMLglobal.watch = 0;

     

    w draw GUI dałem

     

    GMLdraw_text(36, 140, string(" Watch: " + string(global.watch)));

     

     

    teraz w obj_watch dałem w stepie taki kod

     

    GMLif place_meeting(x,y,obj_player){

    instance_destroy();

    global.watch += 1;

    }

     

     

    no i w obiekcie przenoszenie to co mnie po konczeniu lewelu ten obiekt jak na niego najde przenosi do nastepnej planszy dałem to w kolizki z par_player

     

    GML///Koniec mapy wygrana

    ///

     

     

    if(instance_number(obj_watch) < 5){

    room_goto_transition(nextRoom,TRANS_RANDOM,10+irandom(30), choose(c_lime,c_yellow,c_white,c_black,c_gray));

    }

    if unlockWorld != -1 {

    ds_list_add(openWorlds,unlockWorld);

    }

    else{

    show_message("przejście zablokowane brak określonej ilości rzeczy");

    }

     

     

    Sęk w tym,że jak zbiorę mniej niż 5 watchów i najade na obj_przenoszenie no to dostaje info,"przejście zablokowane brak określonej ilości rzeczy" ale mimo to i tak mnie przenosi do następnej planszy,a nie powinno:/ co jest nie tak no i druga sprawa lepiej jakby to było info bez naciskania na ok tylko samo info ,które pojawi się na 2,3 sekundy i zniknie...

    instance_number to fukcja licząca ilość danych obiektów w roomie a nie ilość zebranych itemów

  6. Czekaj chwilka Mateuszu niech to ogarne;)

     

    Czyli to tworze tą zmienną w nowym pustym obiekcie np obj_item

    i tam w create daje ten kod ustalam wartość po ilu itemkach ma się odblokować plansza;)?

     

    tworzysz tą zmienną w obiekcie tego elementu

     

    tamten kod dajesz przy kolizji z obiektem końcowym. Tam gdzie jest komentarz //Akcja..

    dajesz ten twój kod

    GML
    room_goto_transition(nextRoom,TRANS_RANDOM,10+irandom(30), choose(c_lime,c_yellow,c_white,c_black,c_gray));

     

    if unlockWorld != -1 {

    ds_list_add(openWorlds,unlockWorld);

    }

  7. A,więc zrobiłem tak w stepie bohatera swojego dałem tak:

     

     

    GMLif(100 > 70){

    hp -=1;

    }else if(100 > 90){

    global.life -=1;

    }

     

     

    Coś robie nie tak,bo jak włącze teraz gre,to nawet nie skacząc energia mi od razu ucieka i zaraz ginę,a ma być tak,że jak skoczę z danej wysokości,to zabierze mi energie ileś tam procent tej energi,a jak za wysoko skoczę,to od razu życie mi odejmie...

     

    100 jest zawsze większe od 70 i 90. zamiast 100 wstawiasz jakąś zmienną a nie liczbę :D Chyba od niedawna używasz GMa, mam rację? :D

  8. Mam pomysł na 2 sposoby:

     

    1.

    Zrób sobie zmienną która będzie przechowywała ilość zebranych itemków(przy destrukcji tych itemków dodawaj 1 do tej zmiennej)

    GML
    if(zmienna >= ileś tam){

    //Akcja przechodzenia do kolejnego roomu

    }else{

    show_message("przejście zablokowane brak określonej ilości rzeczy");

    }

    2.

    Przejście możliwe jeśli na mapie zostało mniej niż ileś tam itemków

    GML
    if(instance_number(obj_item) < ileś tam){

    //Akcja przechodzenia do kolejnego roomu

    }else{

    show_message("przejście zablokowane brak określonej ilości rzeczy");

    }

  9. Myślę że jak wykryje że spada to na początku zapisać początkową wysokość bohatera, potem gdy już będzie na ziemi to zapisać do drugiej zmiennej końcową wysokość bohatera. Potem odjąć drugą zmienną od pierwszej i z tą różnicą działać.

    GML
    if(roznica > coś){

    energia-=1;

    }else if(roznica > większe coś){

    zycie-=1;

    }

    Myślę że wszystko jasno wytłumaczyłem.

×
×
  • Dodaj nową pozycję...