变量中的图像变量

时间:2014-03-22 05:20:26

标签: javascript jquery html

我试图在我正在制作的游戏中获得一些工作。基本上,我有一个字符选择器:

<div id="CharacterChoose" style="display: none;">
<input id="TestChar1" type="button" value="Test Character 1"/>
<input id="TestChar2" type="button" value="Test Character 2"/>
</div>

<script>
    $("#StartButton").click(function () {
        $("#SplashScreen").hide();
        $("#CharacterChoose").show();
    });
    $("#TestChar1").click(function () {
        var selectedCharacterFirstName = "Character"
        var selectedCharacterLastName = "2"
        var selectedCharacter = "testchar1"
        $("#CharacterChoose").hide();
        $("#GameCanvas").show();
    });
    $("#TestChar2").click(function () {
        var selectedCharacterFirstName = "Character"
        var selectedCharacterLastName = "2"
        var selectedCharacter = "testchar2"
        $("#CharacterChoose").hide();
        $("#GameCanvas").show();
    });
</script>

但是,在我的Script.js文件中,我试图根据选择的字符来改变角色的图像。从技术上讲,character1将被视为:

var CharSrcRight = 'images/character/character_char1/char_stand';

但我试过了:

var CharSrc = 'images/character/character_' + selectedCharacter + '/' + selectedCharacter + '_stand';

任何帮助?

PS:由于某些原因,如果我尝试将我在html文件中使用的脚本放入script.js文件的脚本中,我的游戏将会出现故障。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您创建的3个变量是声明它们的单击处理程序方法的本地变量。由于您在声明变量时使用var

由于您要在当前作用域之外的方法中访问变量值,因此需要在共享作用域中声明它们,以便两个方法都可以访问同一副本。在您的情况下,因为您使用了2个不同的脚本元素,所以共享范围是全局范围。

var selectedCharacterFirstName, selectedCharacterLastName, selectedCharacter;
$("#StartButton").click(function () {
    $("#SplashScreen").hide();
    $("#CharacterChoose").show();
});
$("#TestChar1").click(function () {
    selectedCharacterFirstName = "Character"
    selectedCharacterLastName = "2"
    selectedCharacter = "testchar1"
    $("#CharacterChoose").hide();
    $("#GameCanvas").show();
});
$("#TestChar2").click(function () {
    selectedCharacterFirstName = "Character"
    selectedCharacterLastName = "2"
    selectedCharacter = "testchar2"
    $("#CharacterChoose").hide();
    $("#GameCanvas").show();
});