gpt4 book ai didi

c# - 使用 C# 在 SWF 中编辑 Sprite 变量

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:04 24 4
gpt4 key购买 nike

所以我正在尝试为我知道的游戏开发一个训练器,但我仍然想知道如何通过按钮和文本在游戏的 ActionScript 中编辑 Sprite 变量

// Action script...

// [Initial MovieClip Action of sprite 2248]
#initclip 12
class gameData
{
var PLAYERID, PLAYERNAME, LASTMODIFIED, DIFFICULTY, CLEVEL, MONEY, AMMO_TOTAL, POINTS;
function gameData(_PLAYERNAME)
{
var _loc2 = new Date();
PLAYERID = String(_loc2.getTime());
PLAYERID = PLAYERID + String(Math.round(Math.random() * 99999));
PLAYERNAME = _PLAYERNAME;
LASTMODIFIED = new Date();
DIFFICULTY = 1;
CLEVEL = 1;
MONEY = 0;
AMMO_TOTAL = [60000, 0, 0, 0, 0, 0];
POINTS = 0;
} // End of the function
static function saveGame(_GAME)
{
_global.CGAME.LASTMODIFIED = new Date();
gameData.saveGames(_global.GAMES);
} // End of the function
static function saveGames(_GAMES)
{
var _loc1 = SharedObject.getLocal(gameData.GAMEID);
_loc1.data.GAMES = _GAMES;
_loc1.flush();
} // End of the function
static function newGame(_NAME, _DIFFICULTY)
{
var _loc1 = SharedObject.getLocal(gameData.GAMEID);
var _loc2 = _loc1.data.GAMES;
if (_loc2 == undefined)
{
_loc1.data.GAMES = new Array();
} // end if
var _loc3 = new gameData(_name, _DIFFICULTY, _loc2.length);
_loc1.data.GAMES.push(_loc3);
_loc1.flush();
} // End of the function
static function deleteGame(_INDEX)
{
var _loc1 = SharedObject.getLocal(gameData.GAMEID);
var _loc2 = _loc1.data.GAMES;
if (_INDEX < 0)
{
return;
} // end if
if (_INDEX > _loc2.length - 1)
{
return;
} // end if
_loc2.splice(_INDEX, 1);
_loc1.flush();
} // End of the function
static function getGames()
{
var _loc1 = SharedObject.getLocal(gameData.GAMEID);
var _loc2 = _loc1.data.GAMES;
if (_loc2 == undefined)
{
_loc1.data.GAMES = [];
_loc1.flush();
} // end if
return (_loc1.data.GAMES);
} // End of the function
static var GAMEID = "qigames_13DaysNightmare_12";
} // End of Class
#endinitclip

那是我要专门编辑的 ActionScript Sprite

var _loc2 = new Date();
PLAYERID = String(_loc2.getTime());
PLAYERID = PLAYERID + String(Math.round(Math.random() * 99999));
PLAYERNAME = _PLAYERNAME;
LASTMODIFIED = new Date();
DIFFICULTY = 1;
CLEVEL = 1;
MONEY = 0;
AMMO_TOTAL = [60000, 0, 0, 0, 0, 0];
POINTS = 0;

我反编译了 swf 并且可以使用按钮和文本框编辑主根或 MainMovie,但我似乎无法改变 Sprite 中的值

    ![this is how i edit root variables
}
Game.SetVariable("_root.EXamplevar", textbox1.Text);
{][2]

如果我的解释令人困惑,请帮助抱歉

最佳答案

我不确定我是否理解你的意思。但是这段代码在运行时由 SWF 修改变量。但与 C# 无关。希望这就是你想要的或者这可以帮助你。

您可以在运行时使用括号语法修改自定义变量或调用自定义方法:

this["MONEY"]=9999;

这是括号语法的示例。

现在你可以这样做了:

function setValue(e:MouseEvent){

this[varTxt.text]=Number(valTxt.text);

}

myButton.addEventListener("click",setValue);

“varTxt”是您写入变量名称的文本字段,“valTxt”是变量的输入值。

使用此代码,您的游戏中就有了一个自定义训练器。或者更确切地说,它就像一个控制台。

希望这对您有所帮助。

关于c# - 使用 C# 在 SWF 中编辑 Sprite 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com