背景だけではなく,キャラクタも外部SWFファイル化し,任意の背景,及びキャラクタを使用できるようにする.
 |
| 全体構成 |
base.swf
[Layer]action
┃
┗ActionScript
[Layer]login
┃
┣[MovieClipe]loginWindow
┃ ┃
┃ ┣[テキスト入力]login_user_name
┃ ┃
┃ ┗[テキスト入力]login_user_pass
┃
┗[ボタン]loginButton
[Layer]windows
┃
┣[MovieClipe]status_mc
┃ ┃
┃ ┣[ダイナミックテキスト](変数名)user
┃ ┃
┃ ┗[ダイナミックテキスト](変数名)money
┃
┗[MovieClipe]item_mc
[Layer]character
┃
┗[MovieClipe]character_stage
[Layer]background
┃
┗[MovieClipe]background_stage
character.swf
[Layer]character
┃
┗[MovieClipe]character_mc(ActionScriptにonClipEvent含む)
background.swf
[Layer]mask
┃
┗[MovieClipe]hit(characterのあたり判定用)
[Layer]BG
Action Script
status_mc._visible = false;
item_mc._visible = false;
background_stage._visible = false;
character_stage._visible = false;
loginWindow.loginButton.onRelease = function() {
var user_name = loginWindow.login_user_name.text;
var user_pass = loginWindow.login_user_pass.text;
status_xml = new XML();
status_xml.onLoad = userStatus;
status_xml.load("http://www14026u.sakura.ne.jp/ma/11/status.php?user_name='"+user_name+"'&user_pass='"+user_pass+"'");
status_xml.ignoreWhite = true;
function userStatus(success) {
if (success == true) {
status_mc.money = status_xml.firstChild.firstChild.firstChild.firstChild.nodeValue;
status_mc.user = status_xml.firstChild.firstChild.firstChild.nextSibling.nextSibling.firstChild.nodeValue;
itemNum = status_xml.firstChild.firstChild.firstChild.nextSibling.firstChild.nodeValue;
item_mc.loadMovie("http://www14026u.sakura.ne.jp/ma/11/img/"+itemNum+"star.png");
background_stage.loadMovie("http://www14026u.sakura.ne.jp/ma/uploads/background.swf");
character_stage.loadMovie("http://www14026u.sakura.ne.jp/ma/uploads/character.swf");
loginWindow._visible = false;
status_mc._visible = true;
background_stage._visible = true;
character_stage._visible = true;
}
}
};
window_status = 0;
var key_obj:Object = new Object();
key_obj.onKeyDown = function():Void {
var code = Key.getCode();
if (code == Key.SPACE) {
if (window_status == 0) {
item_mc._visible = false;
status_mc._visible = false;
window_status = 1;
} else if (window_status == 1) {
item_mc._visible = true;
status_mc._visible = true;
window_status = 0;
}
}
};
Key.addListener(key_obj);
ダウンロード(base.fla)
ダウンロード(character.fla)
ダウンロード(background.fla)