.animate を使用して、タイル ベースのゲームを作成しようとしています。jQuery と別の ajax スクリプトを組み合わせて、これを機能させようとしています。矢印をクリックし続けて移動しますが、結果が得られません。たぶん、他の誰かがその理由を理解するでしょうか?
ボタン:
$data .= "<center><table><tr><td></td><td><button onclick=\"transition(\'up\')\">↑</button></td> <td></td></tr><tr><td><button onclick=\"transition(\'left\')\">←</button></td> <td></td> <td><button onclick=\"transition(\'right\')\">→</button></td></tr><tr><td></td> <td><button onclick=\"transition(\'down\')\">↓</button></td> <td></td></tr></table></center>";
地図:
$data .= "<div style=\'width:480px;height:480px;background-color:#000000;background-image:url(".$map['background'].");padding:".$map['locationpadding'].";\' id=\'locationMap\'>";
$data .= "<div id=\'specialLocations\'></div>";
$data .= "<div style=\'position:absolute;left:".$charrel[0]."px;bottom:".$charrel[1]."px;width:32px;height:32px;background-image:url(".$char['charimage'].");\' id=\'charLocation\'></div>";
$data .= "</div>";
最後に、アニメーションを取得します。if ステートメントがすべて機能していることを確認しました。したがって、この時点まではすべて正常に機能しています。
if($_POST['direction'] == "up"){
print("$('#charLocation').animate({'bottom': '+=50px'}, 'slow');");
}elseif($_POST['direction'] == "left"){
print("$('#charLocation').animate({'left': '-=50px'}, 'slow');");
}elseif($_POST['direction'] == "right"){
print("$('#charLocation').animate({'left': '+=50px'}, 'slow');");
}elseif($_POST['direction'] == "down"){
print("$('#charLocation').animate({'bottom': '-=50px'}, 'slow');");
}else{
die('alert("Invalid movement.");');
}
また、PHP を使用して jQuery/JavaScript コードを印刷する理由は、すべてが Ajax コードを介して読み込まれるため、印刷することはありません。
事前に混乱を招いて申し訳ありません。私のためにこれを見てくれてありがとう。