Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, VoroneTZ), 1,258 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
2d Billard #436093
01/19/14 17:20
01/19/14 17:20
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
Hi! Ich würd gern mal ein ganz simples 2d Billardspiel erstellen.

Weiß jemand, wie man sowas mit Panels umsetzen kann (mit Abprallverhalten) ?

Gruß, DF


Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436096
01/19/14 18:37
01/19/14 18:37
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Also das einfachste wäre wohl wenn du die Physiksimulation mit PhysX fahren lässt auf Basis von echten 3D Kugeln. Die Positionen nimmst du dann, um das auf die 2D Sprites zu übertragen. Natürlich kannst du auch deine eigene 2D-Physik-Implementierung schreiben, aber wenn du es simpel haben willst, würde ich es genau so machen wink

Re: 2d Billard [Re: HeelX] #436100
01/19/14 19:38
01/19/14 19:38
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
joa, so mach ichs. danke wink


Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436105
01/19/14 22:24
01/19/14 22:24
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Was man da noch anmerken könnte: Du kannst für RigidBodies einen lock auf eine Achse mit pXent_setbodyflag machen. so stellst du sicher, dass die kugeln nicht hüpfen


Visit my site: www.masterq32.de
Re: 2d Billard [Re: MasterQ32] #436161
01/20/14 20:09
01/20/14 20:09
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
joa danke, gut zu wissen laugh


Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436172
01/20/14 23:09
01/20/14 23:09
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
also ich glaube, "simpel" ist es in beiden fällen nicht. egal ob nun physikengine oder eigene 2d physik. irgendwie macht die physX was sie will, nur nicht das, was ich will xD kugeln prallen nicht sauber ab, sondern gleiten mehr an der bande entlang.

würde ja schon gern meine eigene 2d physik implementieren, wenn ich nur wüsste, wie ich das mit den löchern hinbekomme. denn panels können doch per c_intersect miteinander kollidieren. dies würde doch deutlich performance sparen, weil man
a) keine physX mehr benötigt und
b) die 2d positionen nicht ständig aktualisieren muss

mit "simpel" meinte ich auch mehr einfaches 2d ohne grafische effekte ect und nicht wenig arbeit grin

Last edited by Dragonfly; 01/20/14 23:13.

Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436431
01/26/14 11:55
01/26/14 11:55
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
Also nur mit Panels komme ich aufgrund Kollisionsprobleme net weiter und denke, ich machs so wie HeelX es schon erwähnt hat, nur eben ohne die PhysX und gebe die 3d Positionen in 2d wieder.
Ich frage mich aber trotzdem, wie man früher so um 1990 rum schon Minigolf, bzw Spiele mit einfachem Bouncing teilweise auf DOS ohne 3d Raum umgesetzt hat. ^^

Last edited by Dragonfly; 01/26/14 11:56.

Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436433
01/26/14 13:30
01/26/14 13:30
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline
Member
Ascalon  Offline
Member

Joined: Apr 2005
Posts: 274
austria
schau mal in das Aum-Magazin rein bei den Workshops, ab Nummer 81. Da geht es auch um 2d Spiele und glaub auch um Kollisionen usw. Denke das kann ganz nützlich sein für dich.


my webside : www.ascalon.jimdo.de
Re: 2d Billard [Re: Ascalon] #436442
01/27/14 08:27
01/27/14 08:27
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
Jep danke Ascalon laugh habs mir angesehen, aber irgendwie scheint mir das nur in 2d komplizierter. hab bis jetzt schonmal eine gescheite kollision im 3d hinbekommen, allerdings verhält sich die kugel beim aufprall von anderen kugeln noch verkehrt.

Last edited by Dragonfly; 01/27/14 08:28.

Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Re: 2d Billard [Re: NeoJones] #436449
01/27/14 10:07
01/27/14 10:07
Joined: Dec 2010
Posts: 224
NRW, Germany
NeoJones Offline OP
Member
NeoJones  Offline OP
Member

Joined: Dec 2010
Posts: 224
NRW, Germany
Ok, irgendwie komme ich hier einfach nicht weiter. Hauptproblem ist der neue Pan Winkel für die aufprallende Kugel (cueball!) Problem ist, das die Winkel net von 0-360° gehen, sondern 0-180/-180° -.-
Hier mal der Code:

Code:
action cueb_act()
{
	cueball = me;
	c_setminmax(me);
	var aufprallwinkel[3];
	var aufprall[3]; 
	my.pan = -80;
	
	while(1)
	{
		c_move(me, vector(accelerate(speed_cueball,-10*key_space*time_step,0.02),0,0), nullvector, USE_POLYGON | IGNORE_PASSABLE | IGNORE_WORLD | IGNORE_SPRITES);
		
		if(trace_hit && hit.entity == table)
		{
			//set the new direction
			vec_to_angle(aufprallwinkel, normal);
			my.pan = my.pan+(2*((aufprallwinkel[0]+90)+180-my.pan));
			speed_cueball = speed_cueball*0.85;
		}
		if(trace_hit && hit.entity != table)
		{
			// get the direction from cueball to the collide ball
			vec_set(aufprall,hit.x); 
			vec_sub(aufprall,your.x);
			vec_to_angle(your.pan,aufprall);
			your.skill1 = speed_cueball*1.5;//set the speed
			

			// get the new direction 
			my.pan = your.pan-my.pan; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ???
			

			speed_cueball = speed_cueball*0.3;
			wait(1);
			your.skill1 = 0;
		}
		wait(1);
	}
}



Im Prinzip muss ich doch nur den aktuellen Winkel vom Winkel der zu treffenden Kugel abziehen. Die getroffene Kugel bekommt schon die richtige Richtung. Oder ich hab da einen Denkfehler!?
Wäre echt super, wenn mir da jemand helfen könnte...


Last edited by Dragonfly; 01/27/14 10:11.

Errors are the engine of progress.

Version: A8 Commercial
OS: Win 7 64bit
Models: Cinema 4D
Page 1 of 2 1 2

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1