Minecraft皮肤预览问题

时间:2011-08-30 17:41:50

标签: java javascript applet minecraft

根据另一个问题,您可以使用以下代码查看您的皮肤:

<applet code="net.minecraft.skintest.ModelPreviewApplet"
        archive="http://www.minecraft.net/skin/skintest.jar" codebase="."
        width="320" height="320">
    <param name="name" value="535" />
</applet>

哪个有用!

但有没有人知道如何创建一个文本框和一个按钮,将书面文本放在value="535"标签中(用文本框输入替换“535”)?

链接到其他问题:Is there a web-embeddable skin preview application?

2 个答案:

答案 0 :(得分:0)

这应该很容易,但我认为它不会做你想做的事。

我假设你想要一个带有纹理预览的预览窗口,并允许用户输入新的纹理ID,按下按钮,然后立即看到预览。

在页面加载后简单地更改param的值将无法实现。

当按下按钮时,您需要删除applet并使用新的参数值重新创建它,以使更改生效。

以下是您要求的代码:

<applet
        code="net.minecraft.skintest.ModelPreviewApplet"
        archive="http://www.minecraft.net/skin/skintest.jar" codebase="."
        width="320"
        height="320">
    <param name="name" id="previewName" value="535" />
</applet>

<input type="text" id="newValue" />

<script>
document.getElementById('newValue').onblur = function(event) {
    // grab value
    var iVal = parseInt(this.value);
    if(!iVal && iVal !== 0) return;

    // update param
    document.getElementById('previewName').value = iVal;
    return true;
};
</script>

如果您尝试了并且它没有达到您想要的效果,请告诉我,我可以编写可以执行此操作的代码。

答案 1 :(得分:0)

您可以在运行时将applet编写到DOM中,如下所示:

<div id="wrapper"></div>
<input type="text" value="" onchange="writeApp(this.value)">
<input type="button" value="go">

<script type="text/javascript">
function writeApp(pVal) {
     document.getElementById('wrapper').innerHTML = '<applet  code="net.minecraft.skintest.ModelPreviewApplet"  archive="http://www.minecraft.net/skin/skintest.jar" codebase="."  width="320" height="320"><param name="name" value="'+pVal+'" /></applet>'   
}   
</script>

奇怪的是,小程序似乎不喜欢“525”以外的其他值