0

对于“Web 工程”的作业,我们必须使用 JSP、Servlet 和 Java Bean 编写一个 Web 应用程序游戏。游戏的算法,使用 Servlet 作为控件,使用 JSP 作为模型/视图,使用 Beans 作为数据已经可以工作了。我现在有一个问题是可视化,JQuery/Javascript 函数。

基本上我有一个包含 7 个字段的列表,可以将汽车附加到其中。(汽车是跨度)这是一个骰子游戏,每一轮你骰子并向前移动领域。

我遇到了以下问题,我发现很难解决:

当然,在游戏开始时,汽车(跨度)被附加到起始字段,但如果它向前移动,我不知道如何保存汽车的位置。每次 JSP 在开始时刷新时,汽车都将位于起始字段。我已经尝试过将汽车的旧位置保存在 java bean 中,并在页面加载时附加到 Jquery 中的正确字段,但不知何故这不起作用。我想出的唯一一件事就是将游戏场的整个代码保存在 javabeans 中,但我认为这不是最佳解决方案,也许有人有更好的主意,或者知道为什么 appendTo 不起作用?

继承人代码:HTML

                    <div class="field">
                        <h2 class="accessibility">Playfield</h2>
                        <ol id="road">
                            <li id="start_road">
                                <span class="accessibility">Startingfield</span>
                                <span id="player1">
                                    <span class="accessibility"><em>Player 1</em></span>
                                </span>
                                <span id="player2">
                                    <span class="accessibility"><em>Player 2</em></span>
                                </span>
                            </li>
                            <li class="empty_road" id="road_1">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="oil_road" id="road_2">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="empty_road" id="road_3">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="empty_road" id="road_4">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="oil_road" id="road_5">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li id="finish_road">
                                <span class="accessibility">Goalfield</span>
                            </li>
                        </ol>
                    </div>

正如您所看到的,每次重新加载页面时跨度都在起始字段中,这就是问题所在。这里是 Jquery 函数:

$(document).ready(function() {
                $("player1").appendTo("<%= game.getoldPlayer1() %>");
                $("player2").appendTo("<%= game.getoldPlayer2() %>");
                prepareAnimation();
                $("#player1").fadeOut(700, function() {
                    $("#player1").appendTo("<%= game.getPlayer1() %>");
                    $("#player1").fadeIn(700);
                });
                $("#player2").delay(1400).fadeOut(700, function() {
                    $("#player2").appendTo("<%= game.getPlayer2() %>");
                    $("#player2").fadeIn(700,completeAnimation);                    
                });
});

我试图在开始时解决两个 appendTos 的问题,这应该将汽车设置到它们的旧位置,它们保存在 JavaBean 中,但不知何故它不起作用。

4

1 回答 1

1

不确定这是否是打字错误,但您缺少#.

$("player1").appendTo("<%= game.getoldPlayer1() %>");
$("player2").appendTo("<%= game.getoldPlayer2() %>");

应该

$("#player1").appendTo("<%= game.getoldPlayer1() %>");
$("#player2").appendTo("<%= game.getoldPlayer2() %>");
于 2013-04-19T13:24:18.000 回答