{"id":376,"date":"2008-08-01T11:02:35","date_gmt":"2008-08-01T16:02:35","guid":{"rendered":"http:\/\/www.pixelwit.com\/blog\/?p=376"},"modified":"2009-08-15T11:49:35","modified_gmt":"2009-08-15T16:49:35","slug":"oval-tutorial","status":"publish","type":"post","link":"https:\/\/www.pixelwit.com\/blog\/2008\/08\/01\/oval-tutorial\/","title":{"rendered":"How to Draw an Oval"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pixelwit.com\/blog\/wp-content\/uploads\/2008\/08\/crcle-to-oval.png\" alt=\"\" title=\"Circle to Oval\" width=\"264\" height=\"184\" class=\"alignnone size-full wp-image-401\" \/><\/p>\n<p>Drawing an oval or ellipse is about as easy as <a title=\"Flash Circle Tutorial\" href=\"https:\/\/www.pixelwit.com\/blog\/2007\/06\/basic-circle-drawing-actionscript\/\">drawing a circle with ActionScript<\/a>.  When drawing a circle you only need one measurement for the circle&#8217;s radius but when drawing an oval you need to provide 2.  One for the Width of the oval and one for its Height.  But before I get too far ahead, let&#8217;s take a look at the basic circle drawing code used to draw a simple circle<!--more-->:<\/p>\n<div class=\"codecolorer-container actionscript default\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><div class=\"actionscript codecolorer\"><span class=\"co1\">\/\/<\/span><br \/>\n<span class=\"kw2\">function<\/span> drawCircle<span class=\"br0\">&#40;<\/span>centerX, centerY, radius, sides<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw3\">this<\/span>.<span class=\"kw3\">moveTo<\/span><span class=\"br0\">&#40;<\/span>centerX + radius, &nbsp;centerY<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">var<\/span> i=<span class=\"nu0\">0<\/span>; i<span class=\"sy0\">&lt;<\/span>=sides; i++<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointRatio = i<span class=\"sy0\">\/<\/span>sides;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> radians = pointRatio <span class=\"sy0\">*<\/span> <span class=\"nu0\">2<\/span> <span class=\"sy0\">*<\/span> <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">PI<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> xSteps = <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">cos<\/span><span class=\"br0\">&#40;<\/span>radians<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> ySteps = <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">sin<\/span><span class=\"br0\">&#40;<\/span>radians<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointX = centerX + xSteps <span class=\"sy0\">*<\/span> radius;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointY = centerY + ySteps <span class=\"sy0\">*<\/span> radius;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw3\">this<\/span>.<span class=\"kw3\">lineTo<\/span><span class=\"br0\">&#40;<\/span>pointX, pointY<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"co1\">\/\/<\/span><br \/>\n<span class=\"kw3\">lineStyle<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span>;<br \/>\n<span class=\"co1\">\/\/<\/span><br \/>\ndrawCircle<span class=\"br0\">&#40;<\/span><span class=\"nu0\">250<\/span>, <span class=\"nu0\">250<\/span>, <span class=\"nu0\">200<\/span>, <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span>;<br \/>\n<span class=\"co1\">\/\/<\/span><\/div><\/div>\n<p>The above code should be fairly familiar to you.  If it&#8217;s not, please read the <a title=\"ActionScript Circle Drawing Tutorial\" href=\"https:\/\/www.pixelwit.com\/blog\/2007\/06\/basic-circle-drawing-actionscript\/\">Basic Circle Drawing Tutorial<\/a> and then come back to this one.<\/p>\n<p>Changing the circle code to draw an oval is super simple, just provide an X radius and a Y radius then modify our &#8220;pointX&#8221; and &#8220;pointY&#8221; vars to use the new values.  Take a look:<\/p>\n<div class=\"codecolorer-container actionscript default\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><div class=\"actionscript codecolorer\"><span class=\"co1\">\/\/<\/span><br \/>\n<span class=\"co1\">\/\/ Change &quot;radius&quot; to &quot;xRadius&quot; and add &quot;yRadius&quot; argument.<\/span><br \/>\n<span class=\"kw2\">function<\/span> drawOval<span class=\"br0\">&#40;<\/span>centerX, centerY, xRadius, yRadius, sides<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"co1\">\/\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"co1\">\/\/ Change &quot;radius&quot; to &quot;xRadius&quot;.<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw3\">this<\/span>.<span class=\"kw3\">moveTo<\/span><span class=\"br0\">&#40;<\/span>centerX + xRadius, &nbsp;centerY<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; <span class=\"co1\">\/\/<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw1\">for<\/span><span class=\"br0\">&#40;<\/span><span class=\"kw2\">var<\/span> i=<span class=\"nu0\">0<\/span>; i<span class=\"sy0\">&lt;<\/span>=sides; i++<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointRatio = i<span class=\"sy0\">\/<\/span>sides;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> radians = pointRatio <span class=\"sy0\">*<\/span> <span class=\"nu0\">2<\/span> <span class=\"sy0\">*<\/span> <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">PI<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> xSteps = <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">cos<\/span><span class=\"br0\">&#40;<\/span>radians<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> ySteps = <span class=\"kw3\">Math<\/span>.<span class=\"kw3\">sin<\/span><span class=\"br0\">&#40;<\/span>radians<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/ Change &quot;radius&quot; to &quot;xRadius&quot;.<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointX = centerX + xSteps <span class=\"sy0\">*<\/span> xRadius;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/ Change &quot;radius&quot; to &quot;yRadius&quot;.<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">var<\/span> pointY = centerY + ySteps <span class=\"sy0\">*<\/span> yRadius;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">\/\/<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw3\">this<\/span>.<span class=\"kw3\">lineTo<\/span><span class=\"br0\">&#40;<\/span>pointX, pointY<span class=\"br0\">&#41;<\/span>;<br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"co1\">\/\/<\/span><br \/>\n<span class=\"kw3\">lineStyle<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span>;<br \/>\n<span class=\"co1\">\/\/<\/span><br \/>\n<span class=\"co1\">\/\/ &nbsp; &nbsp; &nbsp; &nbsp; X, &nbsp; Y, &nbsp; W, &nbsp; H, steps.<\/span><br \/>\ndrawOval<span class=\"br0\">&#40;<\/span><span class=\"nu0\">250<\/span>, <span class=\"nu0\">200<\/span>, <span class=\"nu0\">200<\/span>, <span class=\"nu0\">150<\/span>, <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span>;<br \/>\n<span class=\"co1\">\/\/<\/span><\/div><\/div>\n<p>The preceding code creates the following SWF:<\/p>\n\n<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\t\t\tid=\"fm_oval_01_1077527350\"\n\t\t\tclass=\"flashmovie\"\n\t\t\twidth=\"500\"\n\t\t\theight=\"400\">\n\t<param name=\"movie\" value=\"https:\/\/www.pixelwit.com\/blog\/wp-content\/uploads\/2008\/08\/oval_01.swf\" \/>\n\t<!--[if !IE]>-->\n\t<object\ttype=\"application\/x-shockwave-flash\"\n\t\t\tdata=\"https:\/\/www.pixelwit.com\/blog\/wp-content\/uploads\/2008\/08\/oval_01.swf\"\n\t\t\tname=\"fm_oval_01_1077527350\"\n\t\t\twidth=\"500\"\n\t\t\theight=\"400\">\n\t<!--<![endif]-->\n\t\t\n\t<!--[if !IE]>-->\n\t<\/object>\n\t<!--<![endif]-->\n<\/object>\n<p>And that's all there is to it.  Getting from circles to ovals is as easy as... PI.  \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Flash ActionScript tutorial builds upon concepts found in my previous <a href=\"https:\/\/www.pixelwit.com\/blog\/2007\/06\/basic-circle-drawing-actionscript\/\" title=\"ActionScript Circle Drawing Tutorial\">Basic Circle Drawing Tutorial<\/a> so you can draw an oval.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[8],"tags":[23,45,37],"class_list":["post-376","post","type-post","status-publish","format-standard","hentry","category-flash","tag-actionscript","tag-draw","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/posts\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":0,"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/posts\/376\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/media?parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/categories?post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pixelwit.com\/blog\/wp-json\/wp\/v2\/tags?post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}