現在のプログラム
// JavaScript Document
function GameMain() {
ImgPlsPos("ImgBall",100,100);
}
////////////////////////////////////////////////////
//Img:レイヤーの指定、x:座標,y:座標
//指定したレイヤーの画像をx,y座標に移動させる。
function ImgSetPos(Img,x,y){
if ( GetBrverNN6() ){
document.getElementById( Img ).style.left = x;
document.getElementById( Img ).style.top = y;
}
if ( GetBrverIE5() ) {
document.getElementById( Img ).style.pixelLeft = x;
document.getElementById( Img ).style.pixelTop = y;
}
}
//引数:上に同じ
//指定したレイヤーの座標にx,y移動させる。//ミス:座標をx,yの分だけ移動させる
function ImgPlsPos(Img,x,y){
var BallX = ( ImgGetPosX(Img) + x);
var BallY = ( ImgGetPosY(Img) + y);
//ImgSetPos(Img,(BallX),(BallY)); //処理がちゃんとされてない?
ImgSetPos(Img,(BallX),(0)); // 0のみ処理される。
// alert("_"+ BallX);
}
////////////////////////////////////////////////////
//レイヤーの座標習得
function ImgGetPosX(Img){
if ( GetBrverNN6() ){
return( parseInt( document.getElementById( Img ).style.left ) );
}
if ( GetBrverIE5() ) {
return( parseInt( document.getElementById( Img ).style.pixelLeft ) );
}
return( 0 );
}
function ImgGetPosY( Img ) {
if ( GetBrverNN6() ) {
return( parseInt( document.getElementById( Img ).style.top ) );
}
if ( GetBrverIE5() ) {
return( parseInt( document.getElementById( Img ).style.pixelTop ) );
}
return( 0 );
}
//////////////////////////////////////////////////////
function GetBrverNN6(){
// ブラウザバージョンセット
var brver;
// ブラウザのバージョン
var NN6;// NN6.0以上ならtrue
brver = eval(0 + navigator.appVersion.charAt(0));
NN6 = (brver >= 5 && navigator.appName=="Netscape");
return NN6;
}
function GetBrverIE5(){
// ブラウザバージョンセット
var brver;
// ブラウザのバージョン
var IE5;// IE5.0以上ならtrue
brver = eval(0 + navigator.appVersion.charAt(0));
IE5 = (brver >= 4 && navigator.userAgent.indexOf("MSIE")!=-1);
return IE5;
}
////////////////////////////////////////////////////////
23,24行目が問題の場所で、
ここの引数を定数(直接、数字)を書き込んだ場合処理をしてくれるのですが、
そうでない場合(変数を引数に指定した場合)は処理をしてくれません。
(しても結果は無視される。)
どうやらImgSetPos内で、変数の場合は代入に失敗しているようなのですが、対処法がわかりません。
(もしかしたら他がダメなのかな?)
もしかしたら私がいろいろ処理を勘違いしてる可能性もあるのですが、
ここ違うんじゃね?っと思った方がいらっしゃいましたら、アドバイスください。
お願いします。
*
念のためHTMLも
貼っておきます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>javasqriptゲームページ</title>
<script type="text/javascript" src="Game_0.js"></script>
</head>
<body>
<div id="ImgBall" style="position:absolute; left:128px; top:128px;">
<img src="img/bb01.gif">
</div>
<a href="JavaScript:GameMain()">[スタート]</a>
</body>
</html>
///////////////******************////////////////////
忘れていたので
私が勉強させていただいているサイト様です。
ゼロから始める「ゲームの作り方」http://www.bluefoun.pos.to/games/howto/howto.html
//////////////
またまた失礼
どうなったら成功なのか書き忘れてました。
申し訳ありません。
ボール(レイヤー)を引数の値に応じて移動させるのが目的です。
今回書いている値ではxに100。
yに100動かしたいです。
(今は)24行目に
ImgSetPos(Img,(BallX),(0)); // 0のみ処理される。
と書いているのでx座標が100プラスされれば成功なのですが...