←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Dopasowywanie sprite do sciany o okreslony...


Najlepsza odpowiedź grankee 04.01.2015 05:12

Nie wydaje mi się, że uda Ci się to skalować dynamicznie do każdego rozmiaru. Raczej musisz zrobić sprite o potrzebnych proporcjach. Jeżeli jest byt 1000x200 to musisz zrobic sprite 100x20 i wtedy mozesz go skalowac np x10.0

 

Przejdź do postu

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 03.01.2015

Mam mój byt,BBOX wielkości 1000 x 200 i sprite wielkości 300 x 200 (jednolity)

Jak dopasować sprite do bboxa bytu ? pev_scale 1.0 nie działa tak jak oczekuje.

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 03.01.2015

pev_scale 1.0 nie działa tak jak oczekuje.


To może nakreśl czego oczekujesz?
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 04.01.2015

Chcę, aby sprite ten skalował się w takie sposób, aby przylegał do bboxa bytu. (Aby skalował się do rozmiarów 1000x200)


Użytkownik NoLiFeR edytował ten post 04.01.2015 03:11
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 04.01.2015


Mam mój byt,BBOX wielkości 1000 x 200

byty są dwuwymiarowe?

 

daj tego sprita


Użytkownik grankee edytował ten post 04.01.2015 03:13
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 04.01.2015

Mi chodzi o skalowanie sprite, dlatego podaje 2 wymiary.

//chodzi o dynamiczne skalowanie sprite :/


@@ Setny post. :D


Użytkownik NoLiFeR edytował ten post 04.01.2015 03:22
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 04.01.2015

jak mam przykleic sprita znajac 2 z 3 wymiarow i jeszcze nie wiem ktore

 

 

i daj tego sprita


Użytkownik grankee edytował ten post 04.01.2015 03:20
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 04.01.2015

Plik w załączniku.
 

Nie chce aby się obracał więc dałem typ "oriented"

//wymiary bez szerokości bryły

Załączone pliki

  • Załączony plik  wall.spr   59,4 KB   11 Ilość pobrań

Użytkownik NoLiFeR edytował ten post 04.01.2015 03:27
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 04.01.2015

daj kod którym to spawnujesz

Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 04.01.2015

proszę

 

	new Float:MinBox[3] = {-5.0,-85.0,0.0}
		new Float:MaxBox[3] = {5.0,85.0,170.0}
		new origin[3]
		new Float:PlayerOrigin[3]
		get_user_origin(id, origin, 3);

		IVecFVec(origin, PlayerOrigin);
	
		new tmpWall
		tmpWall = Sciana("info_target","sprites/wall.spr",MinBox,MaxBox,2,PlayerOrigin)
		new originp[3]

		pev(id,pev_angles,originp)

		set_pev(tmpWall,pev_angles,originp)

		originp[2] = 0

		set_pev(tmpWall, pev_scale, 1.5);

		set_task(5.0,"usunsciany",tmpWall)
		client_print(id, print_chat, "true")

Zawartość "Sciana"
 

	new ent = create_entity(szClassname)
	entity_set_origin(ent,fOrigin);
	entity_set_string(ent,EV_SZ_classname,"sciana"); // Potrzebuje tutaj jakiejs unikalnej nazwy do usuwania wszystkich scian.
	entity_set_model(ent,szModel);
	entity_set_int(ent,EV_INT_solid, iSolid)
	
	entity_set_size(ent,fMins,fMaxs)

	entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)

	drop_to_floor(ent)
	return ent;
Odpowiedz

  • +
  • -
Najlepsza odpowiedź grankee - zdjęcie grankee 04.01.2015

Nie wydaje mi się, że uda Ci się to skalować dynamicznie do każdego rozmiaru. Raczej musisz zrobić sprite o potrzebnych proporcjach. Jeżeli jest byt 1000x200 to musisz zrobic sprite 100x20 i wtedy mozesz go skalowac np x10.0

 

Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 04.01.2015

Zmierze odległość pomiędzy dwoma punktami, i na tej podstawie zrobie sprite, innego wyjścia w tej sytuacji nie widze... :(

No nic, dzięki za pomoc.

Poczekam do dwunastej, może Darek lub Gwyn będzie znał jakiś tajeeemny sposób :D :D xD


Użytkownik NoLiFeR edytował ten post 04.01.2015 05:15
Odpowiedz