12.円柱クラス1
よーく見てみると

モデルとなった「円柱」をよく観察してみると、そんなキレイな円柱ではありません。両端部分に斜めになっている部分があります(右図)。
ほんとかよ?とお思いなら、今晩、じっくりと手にとってまじまじと眺めてみて下さい(そんな奴いねーよ)。
ともかく、端の部分が両端とも斜めになっている部分があるんですよね、、、
ここをすっぱりと円柱 − つまり側板と端の円だけ − として表現すると、スクリプトは簡単になりますが、それらしく見えないですよね、きっと、、、
端部パーツ構成

結局、この斜めの部分は、右図のようなパーツで構成することでごまかしてます(^^;
二つの楕円を描いて、楕円2と同色の三角形を左右両方に描いています。
この三角形の斜めの線は二つの楕円の接線です。
こうすると、この斜め部分に絵を描けないものの、それらしく見えるのではないかな、と。
ようやく完成
そんなこんなでようやく円柱を描くクラスが完成。
メインになるスクリプトがあって、そこから、角度を指定して描画してます。
メインになる部分だけ書くとこんな感じ。
実際にはボタンがあったりするのですが、省いてます。
public class main extends Sprite {
private var can1:can = new can(1);//缶クラスからオブジェクトを作ってます
private var nco:int=0;
private var kaku1:Number=20;//おじぎ角
private var kaku2:Number=55;//自転角
public function test() {// コンストラクタ
addChild(can1.canbox);//canboxというところに円柱を描いていますので
can1.canbox.x=200;
can1.canbox.y=100;
addEventListener( Event.ENTER_FRAME, moving );
}
private function moving(eventObject:Event):void {
can1.setcanbox(kaku1,kaku2);//このメソッドで描画します
kaku1+=1;
kaku2+=1;
}
}
クラスからオブジェクトを作るとき引数を1としています。
この番号を変えると違うデザインの円柱になる、という予定ですが今のところ1番しかありません(^^;
参考サイト