Actionscript で簡単なバルーン シューターを作成したいと考えています。バルーンは、ステージの下端から上端まで浮かんでいる必要があります。風船は2種類になります。ウェブカメラの画像が添付されたフレームを運ぶ人もいます。画像のないものを撮影すると、100 ポイントを獲得できます。画像のある方を撃ったら負け。
これまでの私のソリューションは、すべての要素 (グラフィックとビデオ) を個別に扱っています。つまり、気球が上昇するたびに、そのコードを数回記述する必要があります。これはあまり効率的ではないようです。また、バルーンは数に限りがございます。
import flash.media.Camera;
import flash.media.Video;
import flash.display.MovieClip;
var camera:Camera = Camera.getCamera();
if (camera != null)
{
videoFrame1.attachCamera(camera);
}
else
{
trace("You need a camera.");
}
stop();
Score.appendText("Your Score: ");
//Balloon1
var directionY1;
video1.addEventListener(Event.ENTER_FRAME, float1);
function float1(event:Event)
{
if (video1.y > 0)
{
richtungY1 = 1;
}
video1.y -= 3 * directionY1;
}
videoFrame1.addEventListener(Event.ENTER_FRAME, Framefloat1);
function Framefloat1(event:Event)
{
if (videoFrame1.y > 0)
{
directionY1 = 1;
}
videoFrame1.y -= 3 * directionY1;
}
clickFrame1.addEventListener(Event.ENTER_FRAME, clickFramefloat1);
function clickFramefloat1(event:Event)
{
if (clickFrame1.y > 0)
{
directionY1 = 1;
}
clickFrame1.y -= 3 * directionY1;
}
balloon1.addEventListener(Event.ENTER_FRAME, Balloonfloat1);
function Balloonfloat1(event:Event)
{
if (balloon1.y > 0)
{
directionY1 = 1;
}
balloon1.y -= 3 * directionY1;
}
tv1.addEventListener(Event.ENTER_FRAME, TVfloat1);
function TVfloat1(event:Event)
{
if (tv1.y > 0)
{
directionY1 = 1;
}
tv1.y -= 3 * directionY1;
}
function clicked(event:MouseEvent):void
{
removeChild(videoFrame1);
removeChild(tv1);
removeChild(balloon1);
}
clickFrame1.addEventListener(MouseEvent.CLICK, clicked);
//Counter;
clickFrame1.addEventListener(MouseEvent.CLICK, count);
var counter = 0;
function count( e:MouseEvent ):void
{
counter += 100;
Score.appendText(counter);
trace( counter );
}
さて、私の考えは、各バルーンを 1 種類ずつ作成し、ライブラリからロードすることでした。addChild を使用することを考えました。1 つの気球を撃つと、速度が増した新しい気球が生成されます。しかし、私はそれを解決できませんでした。
ビデオをmovieClip内に配置して、他の要素と組み合わせて1つのオブジェクトにすることはできないようです。
内部のすべての要素を使用して movieClip を作成し、ライブラリからロードする方法を知っている人はいますか?
事前にどうもありがとうございました!