Skocz do zawartości

cysior

Użytkownicy
  • Postów

    375
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Odpowiedzi opublikowane przez cysior

  1. możesz zrobić to na zmiennych globalnych. np. w create bohatera global.czasnaprzerwe=false. Dodajesz do każdego obiektu, który chcesz stopować w kazdy event w którym chcesz stopować wykonywanie kodu.

    GML
    if global.czasnaprzerwe=false

    {

    akcja w danym evencie // step, draw co tam jeszcze chcesz

    }

     

    Musisz pamiętać, aby w tym obj w którym chcesz stopować daj kod :

    GML
    if global.czasnaprzerwe=false

    {

    if keyboard_check_pressed(vk_escape)

    {

    global.czasnaprzerwe=true

    }

     

    //kod, który się wykonuje gdy nie ma przerwy

    }

     

     

    else

    {

    if keyboard_check_pressed(vk_escape)

    {

    global.czasnaprzerwe=false

    }

    }

     

    E: Jeżeli chcesz ciagle rysować bohatera i inne rzeczy, to nie dawaj opcji stopu w drawie

    E2: Jeżeli nie używasz gm studio, to masz w gm pod objects,rooms, game info - "Global Game Settings". I tam w zakładce Other odznacz "Let <ESC> end the game."

    E3: Pomysł kaszan'a88 w praktyce

     

    GML
    if keyboard_check_pressed(vk_escape)

    {

    global.czasnaprzerwe= !global.czasnaprzerwe;

    }

     

    if global.czasnaprzerwe=false

    {

    //kod, który się wykonuje gdy nie ma przerwy

    }

    else

    {

    // kod, który się wykonuje gdy jest przerwa

    }

  2. Witam. Mam listę, która przechowuję obj classy A

    lista.Add(obj1) itd. // obj1 = new B(); ; obj1= new C();

     

            public  abstract class A
            {
            }
    
            public class B:A
            {
             }
    
            public class C:A
            {
            }

     

    Chciałbym dodawać ich nazwy(obj1,obj2) do stringu, lecz nie mam pojęcia jak to robić, próbowałem coś takiego ale wtedy tekst == "windowsgame.Game1+Bwindowsgame.Game1+C"

    foreach(A obj in lista)
    {
    tekst+=obj.ToString();
    }

     

     

    Z góry dzięki za pomoc.

  3. Witam. Dopiero zaczynam swoją przygodę z C# i postanowiłem napisać prosty programik, który wykonuje akcje kiedy klawisz TAB zostanie naciśnięty. Niestety nie wiem z jakiego powodu visual wyszukuję bład i podkreśla

    e.keycode. Treść błędu :

     

    Error    1    'System.Windows.Forms.KeyPressEventArgs' does not contain a definition for 'KeyCode' and no extension method 'KeyCode' accepting a first argument of type 'System.Windows.Forms.KeyPressEventArgs' could be found (are you missing a using directive or an assembly reference?)

     

    //kawałek kodu.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Imaging;
    
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            string pw = "";
            string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
            public Form1()
            {
                InitializeComponent();
            }
            
    
            private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
    
                
    
                if (e.KeyCode == Keys.Tab) 
                {
                    pw += "1";
                    MessageBox.Show(pw);
                };
    
                
               
    
    
    
    
    
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
    
        }
    }
    
    
    
                };

     

    Z góry dzięki za pomoc !

  4. Witam. Pisze w sprawie ustalenia daty startu naszego pojedynku. Mi pasuje weekend z powodu szkoły i kursu prawojazdy, a tobie?

     

    Od 22:00 dziś?

    Bo i tak wiem, że nie wygrałem :D .

     

    Dopiero teraz wbiłem na gmclan. Wybacz! Moze dziś tak w południe zaczniemy? tak 15-16?

     

    Dziś od 17:00

     

    Wraz z moim przeciwnikiem prosimy o ustalenie startu naszego pojedynku na 17:00

  5. @up chodzi mi bardzej o coś takiego

    images.jpg

    A jak miałeś to na myśli to wybacz.

     

    I tu pojawia się moje pytanie czy lepiej to robić w jednym obj czy tworzyć objekty.

    Bo kiedyś miałem kod, który sprawdzał kazda kratkę i jak coś znalazł to sprawdzał czy jest tam kilka itemów a potem dzielił i rysował. Niestety fps widocznie spadały.

    Wpadłem na taki pomysł

     

    GML
    var sta,dod,dabs;

     

    for(n=0;n<100;n+=1)

    for(m=0;m<100;m+=1)

    {

     

    pomoc=string_delete(global.map0[n,m],1,string_pos("@",global.map0[n,m])) // pomoc to id itemów na danej kratce np. = " 1024,1030,"

    if string_length(pomoc)>0

    {

    for(g=1;g<=string_count(",",pomoc);g+=1)

    {

    pomoc2[g]=string_copy(pomoc,-5+5*g+1,5)

    global.pselist[n,m]+=pomoc2[g]

     

    jakto[g]=string_copy(global.pselist[n,m],1+(-5+5*g),5)

     

     

    ii=instance_create(32*n,32*m,obj_item)

    ii.sprite_index=sk_itespr(jakto[g])

    }

     

     

     

    }

     

     

    }

     

    Tylko za bardzo nie wiem jak zrobić żeby na kratkach których wartość stringu nie uległa zmianie, nic nie robić a na tych drugich zrobić nowy item i usunać stary.

  6. Witam! Od jakiegoś czasu w wolnych chwilach tworzę pewien projekt i mam takie pytanie, jak według was najwydajniej rysować spr 32x32, ktore są czasem rysowane na jednej pozycji ( przykładowo jakis spr tarczy, a nad nią mieczyk ).

    Chodzi mi o takie dynamiczne rysowanie i usuwanie. Powiedzmy, że mam tablice dwuwymiarowe, które zawierają informację o itemach na danej kratce. np. tablica[1,1]="1024,1025,"

     

    Z góry dzięki za pomoc.

     

    E: co do skupiska itemów to powiedzmy ze jak view ma około 500 kratek, to fajnie by było jakby dało się normalnie rysować itemki na tych 50-100 kratkach.

×
×
  • Dodaj nową pozycję...