だから、前述のように、今学期は Flash をやっています... Python でクラスなどを使ってこれを行う方法を知っていると思いますが、AS3 ではすべてがとても... 切り離されています。
短い化学ゲームを作りたいです。火、土、風、精霊の4つのエレメントを持っていますが、水が欠けています。ポイントは水を作ることです。ステージ上には、fire_mc、wind_mc、earth_mc、spirit_mc、pot_mc があります。それらをクリックすると、ポットにドロップが追加されます。
非常に特定の順序で要素をそこに配置する必要がありますが、失敗するとカウントがリセットされ、再起動する必要があります。順番は火、精、土、火、精、風の順です。(現時点では非常に恣意的ですが、そのようなものだとしましょう)
AS3でそれをどのように作成しますか?
(これらのタグは、この特定の種類のゲームを構築したい人を支援するためにあります)
これが私の現在のコードです。
stop();
lvln.text="Phase 3 - Bargaining";
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
const WIDTH:int=50;
const HEIGHT:int=50;
const SEPX:int=50;
var fireb:firebtn=new firebtn();
var spiritb:spiritbtn=new spiritbtn();
var earthb:earthbtn=new earthbtn();
var windb:windbtn=new windbtn();
var combo:Array=new Array();
var truecombo:Array=[fireb,spiritb,spiritb,windb,earthb];
var lastElm=combo[combo.length-1];
firebb.addEventListener(MouseEvent.CLICK, fire1);
windbb.addEventListener(MouseEvent.CLICK, wind1);
earthbb.addEventListener(MouseEvent.CLICK, earth1);
spiritbb.addEventListener(MouseEvent.CLICK, spirit1);
function add1(clip:DisplayObject)
{
if (combo.length > 6)
{
combo.shift();
combo.push(clip);
reorder();
}
}
function reorder()
{
for(var i:int = 0; i < combo.length; i++)
{
combo[i].x = i * 50;
}
}
function fire1(e:MouseEvent)
{
lastX+=SEPX;
twist.gotoAndPlay(2);
var fireb:firebtn=new firebtn();
stage.addChild(fireb);
add1(fireb);
fireb.width=WIDTH;
fireb.height=HEIGHT;
fireb.x=lastX;
fireb.y=lastY;
pop.play();
}
function wind1(e:MouseEvent)
{
lastX+=SEPX;
twist.gotoAndPlay(2);
var windb:windbtn=new windbtn();
stage.addChild(windb);
add1(fireb);
windb.width=WIDTH;
windb.height=HEIGHT;
windb.x=lastX;
windb.y=lastY;
pop.play();
}
function earth1(e:MouseEvent)
{
lastX+=SEPX;
twist.gotoAndPlay(2);
var earthb:earthbtn=new earthbtn();
stage.addChild(earthb);
add1(fireb);
earthb.width=WIDTH;
earthb.height=HEIGHT;
earthb.x=lastX;
earthb.y=lastY;
pop.play();
}
function spirit1(e:MouseEvent)
{
lastX+=SEPX;
twist.gotoAndPlay(2);
var spiritb:spiritbtn=new spiritbtn();
stage.addChild(spiritb);
combo.push(spiritb);
spiritb.width=WIDTH;
spiritb.height=HEIGHT;
spiritb.x=lastX;
spiritb.y=lastY;
pop.play();
}