<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Cannot get the math right </title>
		<link>http://www.allegro.cc/forums/view/618215</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 17 Aug 2020 01:54:09 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have a space type shooter game where a ship shoots bullets. The ship can rotate 360 degrees. Basically the ship faces the mouse cursor as the cursor moves around the screen. Right now the bullets do not leave from the center of the ship, they move based on the rotation so they are offset sometimes. It looks weird so I want to fix it.</p><p>Here is the rotation code for the player</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><span class="k1">void</span> Player::Think<span class="k2">(</span><span class="k1">int</span> mx, <span class="k1">int</span> my, <span class="k1">int</span> null_int1, <span class="k1">int</span> null_int2<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 2</span>
<span class="number"> 3</span><span class="k1">double</span> radangle <span class="k3">=</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span>my <span class="k3">+</span> <span class="n">10</span><span class="k2">)</span> <span class="k3">-</span> <span class="k2">(</span>posY <span class="k3">+</span> <span class="n">16</span><span class="k2">)</span>, <span class="k2">(</span><span class="k2">(</span>mx <span class="k3">+</span> <span class="n">10</span><span class="k2">)</span> <span class="k3">-</span> <span class="k2">(</span>posX <span class="k3">+</span> <span class="n">16</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 4</span>
<span class="number"> 5</span><span class="c">//update the player angle</span>
<span class="number"> 6</span>SetFaceAngle<span class="k2">(</span>radangle <span class="k3">+</span><span class="n">1</span>.<span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>

and here is the code to create the bullet</p><p><span class="source-code">a <span class="k3">=</span> gun-&gt;fire<span class="k2">(</span>pos_x, pos_y, player, <span class="n">16</span><span class="k2">)</span><span class="k2">;</span></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (briostheman)</author>
		<pubDate>Sun, 16 Aug 2020 17:47:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Where are you drawing the centre of your ship - is it (posX, posY) or (posX+16, posY+16)? Also is pos_x the same as posX?</p><p>Basically, if I understand correctly, you want to start the bullet at <span class="source-code"><span class="k2">(</span>cx <span class="k3">+</span> r <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>ang<span class="k2">)</span>, cy <span class="k3">+</span> r <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>ang<span class="k2">)</span><span class="k2">)</span></span> where <span class="source-code">ang</span> is the angle the ship is pointing, <span class="source-code"><span class="k2">(</span>cx, cy<span class="k2">)</span></span> is the ship&#39;s centre, and <span class="source-code">r</span> is the distance from the ship&#39;s centre to the point where you want the bullet to appear. (I&#39;m assuming your ship has a gun at the end of its nose, like the one in Asteroid)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Hull)</author>
		<pubDate>Sun, 16 Aug 2020 18:41:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>correct, the bullet should leave from the center of the player and travel out the nose of the ship, here is the player draw</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>image, <span class="k2">(</span>width <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, <span class="k2">(</span>height <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, posX<span class="k3">+</span><span class="k2">(</span>width <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, posY<span class="k3">+</span><span class="k2">(</span>height <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, faceAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (briostheman)</author>
		<pubDate>Sun, 16 Aug 2020 19:15:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You probably want to draw the center of your ship at <i>(posX, posY)</i> instead:</p><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>image, <span class="k2">(</span>width <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, <span class="k2">(</span>height <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, posX, posY, faceAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kenmasters1976)</author>
		<pubDate>Mon, 17 Aug 2020 01:54:09 +0000</pubDate>
	</item>
</rss>
