←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Dopasowywanie sprite do sciany o okreslony...


Best Answer 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

 

Go to the full post

  • +
  • -
NoLiFeR's Photo 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.

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 03.01.2015

pev_scale 1.0 nie działa tak jak oczekuje.


To może nakreśl czego oczekujesz?
Quote

  • +
  • -
NoLiFeR's Photo 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)


Edited by NoLiFeR, 04.01.2015 03:11.
Quote

  • +
  • -
grankee's Photo grankee 04.01.2015


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

byty są dwuwymiarowe?

 

daj tego sprita


Edited by grankee, 04.01.2015 03:13.
Quote

  • +
  • -
NoLiFeR's Photo NoLiFeR 04.01.2015

Mi chodzi o skalowanie sprite, dlatego podaje 2 wymiary.

//chodzi o dynamiczne skalowanie sprite :/


@@ Setny post. :D


Edited by NoLiFeR, 04.01.2015 03:22.
Quote

  • +
  • -
grankee's Photo grankee 04.01.2015

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

 

 

i daj tego sprita


Edited by grankee, 04.01.2015 03:20.
Quote

  • +
  • -
NoLiFeR's Photo 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

Attached Files

  • Attached File  wall.spr   59.4KB   16 downloads

Edited by NoLiFeR, 04.01.2015 03:27.
Quote

  • +
  • -
grankee's Photo grankee 04.01.2015

daj kod którym to spawnujesz

Quote

  • +
  • -
NoLiFeR's Photo 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;
Quote

  • +
  • -
Best Answer grankee's Photo 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

 

Quote

  • +
  • -
NoLiFeR's Photo 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


Edited by NoLiFeR, 04.01.2015 05:15.
Quote