Skocz do zawartości

Rysowanie lewym przyciskiem myszy


Elevator

Rekomendowane odpowiedzi

Chcialem zrobic mozliwosc rysowania lewym przyciskiem myszy, cos jak w paincie

Ustawilem w object0 'left button' - 'draw sprite' sprite0 (tam znajduje sie czarna kropka)

 

Ale po uruchomieniu klikam i nic :jezor:, nie rysuje mi sprite0

 

Bede dozgonnie wdzieczny za udzielona pomoc a jeszcze bardziej za udzielona pomoc w bloczkach :jezor:

Odnośnik do komentarza
Udostępnij na innych stronach

Już samo to że chce coś narysować jak w paint na spritach/obiektach jest błędem bo to będzie niewydajne. Powyższy tutorial jest także przykładem rysowania kółek za pomocą lewego przycisku myszki także pasuje on do tego problemu idealnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Uzylem tego poradnika, stawianie pixeli (zamienilem z kolek) dziala jak najbardziej, zapisywanie tez, dzieki :thumbsup:

 

Mam jeszcze kilka pytan wiec zadam je tutaj zeby nie otwierac kolejnego tematu <_<

A mianowicie, jak zrobic, zeby przy zapisywaniu pliku pojawialo sie takie okno:

http://www.umcs.lublin.pl/images/media/Ele...z.jako.JPEG.JPG

Lub przynajmniej, zeby kazdy zapisywany plik mial nazwe kolejno obrazek1, obrazek2, obrazek3 itd..?

Mam tez problem z "otwieraniem" jakiegos obrazka, szukalem na googlach czegos o wczytywaniu surface'ow, ale nic nie znalazlem :crying:

W tym poradniku tez niczego o tym nie bylo

Odnośnik do komentarza
Udostępnij na innych stronach

Coz, dziala :D

Rozumiem, ze z wczytywaniem obrazkow nici?

 

Mam kolejny problem, a mianowicie - jak sprawic, zeby po kliknieciu lewym przyciskiem myszy na object1, sprite1 zmienial sie na sprite2? Zeby wszystkie aktualne obiekty w roomie ze sprite1 zmienily swoj wyglad na sprite2?

Jest to mozliwe w ogl? <_<

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję :)

 

Jeszcze jedno pytanko xP

 

GML
color1 = make_color_rgb(255,0,255);

Mam to gdy klikne na rozowego sprita, ale kolor sie zmienia na CIEMNIEJSZY niz powinien

http://www.webdiner.com/annexe/hexcode/hexcode.htm

Tutaj znajduje sie lista kolorow i ich RGB - wedlug niej uznalem ze 255,0,255 to rozowy

U mnie gdy klikne na rozowego sprita, nie zmienia sie na 255,0,255 tylko na 128-0-128, a to jest dla mnie problem

 

Probowalem zmieniac background rooma z szarego na bialy, moze on "sciemnial" kolory myslalem, ale nie podzialalo

 

Dodam ze mam surface na calej szerokosci i wysokosci rooma

 

@E

Mam to z wszystkimi kolorami oprocz czarnego, nawet bialy jest szary

Odnośnik do komentarza
Udostępnij na innych stronach

Dziala :D

 

Teraz z kolei mam taki problem

GML
draw_sprite_ext(bialy_sredni,0,mouse_x,mouse_y-32,1,1,0,color1,1);

Mianowicie na surface po kliknieciu LPM stawiam sprita "bialy_sredni" (jest to sredniej wielkosci kropka), zalezy mi abym po kliknieciu na object1 (przedstawia duza kropke) stawial za pomoca LPM inne sprity a dokladniej "bialy_duzy", a gdy klikne na object2 (przedstawia srednia kropke) znowu stawial sprity "bialy_sredni"

 

Probowalem bloczku change sprite, ale moj object stawiajacy "kropki" nie ma sprita i tym bardziej nie stawia ich na jego wzor, tak wiec nie zadzialalo

 

@E

Jesli nie da sie tego zrobic, chetnie zadowole sie zmiana scalex, scaley stawianej kropki po zmianie wielkosci pedzla (czyli po kliknieciu na object1 lub object2), ale to takze jest dla mnie niewykonalne

Odnośnik do komentarza
Udostępnij na innych stronach

Chcesz rysować koła?

Dwie funkcje tutaj mogą ci się przydać.

GML
draw_circle_color(x,y,r,col1,col2,outline)

outline - to jest czy nie ma być wypełnione

r - to będzie promień więc przeskalować będzie ci łatwo.

GML
draw_set_circle_precision(precision)

Za pomocą tego ustawisz kanciastość koła czyli jego precyzje. Wartość precision musi być podzielna przez 4.

Odnośnik do komentarza
Udostępnij na innych stronach

No jeżeli te buttony czy co tam masz faktycznie są obiektami z maską to możesz zrobić coś takiego:

GML (create)
// zdefiniuj sobie maxymalny i minimalny rozmiar koła

global.maxR = 10;

global.minR = 1;

// teraz aktualny rozmiar kola ( na poczatku jest domyslnym )

global.curR = 5; // ( skrot cur jest od current)</span>

i teraz w obiekcie buttona, który będzie zwiększał koło, zrób "event mouse left pressed" a w nim

GML
global.curR += 1;

global.curR = min( global.curR, global.maxR ); // to ograniczy wielkosc jak zmienna wyjdzie poza global.maxR</span>

analogicznie w obiekcie buttona, który będzie zmniejszał:

GML
global.curR -= 1;

global.curR = max( global.curR, global.minR ); // to ograniczy wielkosc jak zmienna bedzie mniejsza od global.minR</span>

 

Teraz w Obiekcie w którym wyświetlasz te kółka czy tam rysujesz na surfasie to rysuj koła tak:

GML
draw_circle_color( mouse_x , mouse_y, global.curR, col1, col2, outline );
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...