初心者なのでゲームの作り方がわからないのでお勧めなどを教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

JavaScriptでゲームを作る、ということですね。


JavaScriptの基本的な変数・関数の扱いは出来るのでしょうか?
出来ないのであれば、まずそこから勉強しないといけないのですが。

JavaScriptのゲームはネット上でもたくさん公開されています。
たぶん、検索をかけるといくらでも出てきます。
他のプログラムとちがい、ソースを見る事が出来るので、
それを見て勉強するなどの方法がよいのでは?
    • good
    • 0
この回答へのお礼

どうもありがとうございました。

お礼日時:2001/03/08 13:07

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q初心者です。あまりに初歩的なことなのではずかしいのですが教えて頂けます

初心者です。あまりに初歩的なことなのではずかしいのですが教えて頂けますと幸いです。
本を片手にjQueryを勉強し始めました。(JavaScriptの初歩は勉強しました。)
jQueryを記述したものを『script.js』という外部ファイルで保存し、htmlファイルにリンクし参照させています。

ブラウザでテストしてみたところ、きちんと動作します。
ただ、『script.js』ファイルを開こうとクリックするとWindows Script Hostのエラーウィンドウ「エラー:文字が正しくありません」 と表示されてしまいます。
文字コードや全角スペースが混ざっていないか等、色々と試しましたが相変わらずエラーで困っています。
外部ファイルに記述、というのが理解不足の初心者には難しいのかとも思うのですが…。


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" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>sample1</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js" charset="UTF-8">
</script>

</head>
<body>
<ul>
<li>テキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキスト</li>
</ul>
</body>
</html>

また、問題の『script.js』ファイルは以下のように記述しています。

$(function(){
$("li").css("color","red");
});

初心者です。あまりに初歩的なことなのではずかしいのですが教えて頂けますと幸いです。
本を片手にjQueryを勉強し始めました。(JavaScriptの初歩は勉強しました。)
jQueryを記述したものを『script.js』という外部ファイルで保存し、htmlファイルにリンクし参照させています。

ブラウザでテストしてみたところ、きちんと動作します。
ただ、『script.js』ファイルを開こうとクリックするとWindows Script Hostのエラーウィンドウ「エラー:文字が正しくありません」 と表示されてしまいます。
文字コードや全角...続きを読む

Aベストアンサー

#2 です。

結局、#2 の方法でjsファイルを開けたのでしょうか?開けなかったのでしょうか?

> Microsoft Jscript コンパイルエラー
JavaScript を「JScript Script File」として実行しようとしているのですから、エラーが発生するのが自然です。
「JScript Script File」として何か希望する動作があって実行させたいのなら、修正する必要がありますが…。

> 以前、jsファイルを作成して試していた時にはダブルクリックで開けていた気がしたので
関連付けを変更すれば、ダブルクリックで開けます。

Windows XP でファイルをダブルクリックしたときに起動するプログラムを変更または選択する方法
http://support.microsoft.com/kb/307859/ja

QJavaScript超初心者の質問です。初心者というよりほとんど使った事がありません。

JavaScriptの事は全く知りません。
現在ビルダーを使ったHPを作成中です。
そこで自分のやりたい事があるのですが、それを調べていく内にJavaScriptだったら、それが可能かもという結論に達しました。
でも使い方が全くわからなくて、それでここで質問しました。
マウスオンで別の画像を表示させるという事なのですが、タダ単に表示させるのではなくて、日本地図の北海道の上にマウスを置くと北海道の人口、人工密度、男女比、年齢別比、などを別の画像で表示させたいのです。
一枚の画像の中で、マウスオンの場所をいくつも設定する事は可能なのでしょうか?
また可能であれば方法を教えて頂けませんでしょうか?
座標を設定するみたいな事は以前何かで見たことがあるのですが、やり方が全くわかりません。
わかりにくい質問の仕方ですが、どなたかよろしくお願い致します。

Aベストアンサー

こんばんわ
私も以前ちょこちょことJavaScriptをつかったことがあるものです。
不定形なイメージマップ(この場合都道府県になるのかな)にマウスオンでフレームを開くようなサイトを作りたいわけですね。
そういう関数は用意されています。

しかし、複雑なイメージマップの作成は普通HTMLの役目だと思います。
ビルダーにはその機能ついていないのかな?
私は以前にドリームウィーバーの試用期間限定版を使った時、不定形なイメージマップに対するリンク、簡単に実現できましたよ(ちなみに六角形の形の集合でしたが)。

今では、HTMLは製作ソフトを使わずに手打ちなので複雑な座標指定はほとんど無理なので、イメージマップはほとんど長方形ばかりですが(笑)

別にぱくることは進めませんがHTMLのコードは自由に閲覧できるので、日本地図を表示してイメージマップを都道府県別にウインドウを開けたりしているサイトは腐るほどあるので参考にしてみては?(特に出会い系サイトなんかマップ表示していますね)

Qシューティングゲームの作り方

また行き詰ってしまったので質問させてください。
趣味のプログラミングでシューティングゲームを作ろうと思っていて、下記URLのコードまでは完成しました。
しかし、色々と問題があります。

(1)自機が敵機に当たったときには、衝突応答の関数が実行されるのに、弾が敵に当たった時には実行されないのがなぜだかわからない。
(2)背景の画像をスクロールさせるのに効率のいい方法(できるだけ重くない処理)
(3)自機を枠の外に行かないようにするには…
(4)”マウスのボタンをクリックするたびに弾を発射”ではなく、”押している間は常に弾を発射する”という処理にするにはどうすればいいのか…
(5)マウスを押したままでも、自機の移動を可能にするには…(画像を表示させると、クリック状態で自機の移動ができなくなる)
(6)右クリックの禁止ができません。どのサイトを見ても同じようなコードしか書いてなく、そのコードでは右クリックの禁止ができません…(divにoncontextmenu="return false;")
(7)その他、下記URLのコードの無駄や、ゲームを作るならもっとこういう書き方の方がいい!などありましたら教えていただけるとうれしいです。(何より動作の軽いゲームを作りたい(javascriptで。今回他の言語等は考えていません。))
(8)それから、注文が多くて申し訳ありませんが、(7)以外は下記のコードをベースに解決方法を教えていただければ幸いです。


http://www7b.biglobe.ne.jp/~k326/javascript/STG.html


8つも一度に質問するのも気が引けましたが、何度も投稿するよりは…と思ったのでまとめさせていただきました。自分なりにグーグルで10サイト以上は見て回ったのですが、解決できませんでした。(検索の仕方が悪いのかもしれません…)どうかご教授お願いします。

※趣味の範囲なので、できれば「センスない」などの中傷はしないでください。お願いします。
※動作チェックはIEです。とりあえずはIEでできるように…と考えています。
※2000文字に入りきらなかったので、直接コードを記述せずにURLを載せる事にしました。

また行き詰ってしまったので質問させてください。
趣味のプログラミングでシューティングゲームを作ろうと思っていて、下記URLのコードまでは完成しました。
しかし、色々と問題があります。

(1)自機が敵機に当たったときには、衝突応答の関数が実行されるのに、弾が敵に当たった時には実行されないのがなぜだかわからない。
(2)背景の画像をスクロールさせるのに効率のいい方法(できるだけ重くない処理)
(3)自機を枠の外に行かないようにするには…
(4)”マウスのボタンをクリックするたびに...続きを読む

Aベストアンサー

返事なんていらないよ!なんか楽しい!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>STG</title>
<style type="text/css">
body { background-color:#000; color:#fff; margin:0; overflow:hidden;}
#waku { overflow:hidden; margin:0;}
#waku img { display:none; position:absolute; }
#star { display:none; }
#title { float:left; margin:1ex;}
#score { float:right; margin:1ex;}
#jiki { z-index:4; }
#tama { z-index:1; }
</style>
<body>
<div id="waku">
<div id="header">
<div id="title">なんて名前にしようかな~</div>
<div id="score">SCORE : <span id="point">0</span></div>
</div>
<img src="teki.gif" width="40" height="40" alt="敵" id="teki">
<img src="./img/8.gif" width="40" height="40" alt="自" id="jiki">
<img src="./img/1.gif" id="tama" width="10" height="20" alt="玉">
<p id="star">.</p>
</div>
<script type="text/javascript">
//@cc_on
function getInnerView() {
var C = document/*@if (1) [document.compatMode=='CSS1Compat' ?
'documentElement': 'body']/*@else@*/ .defaultView /*@end@*/;
return {
W:/*@if(1) C.clientWidth@else@*/ C.innerWidth /*@end@*/-8,
H:/*@if(1) C.clientHeight @else@*/ C.innerHeight /*@end@*/-30
};
}
//______
Timer = function () { this.timerID = null; this.interval = 50; }
Timer.prototype.stop = function () { return clearInterval(this.timerID) };
Timer.prototype.start = function (f_) {
return this.timerID = setInterval((function (t,c) { return function() {c.call(t);}; })(this, f_), this.interval);
};
//______
Star = function () { this.init.apply(this, arguments) };
Star.prototype = new Timer;
Star.prototype.constructor = Star;
Star.prototype.init = function (n, c, color) {
var e = document.createElement('P'), s = e.style, i = 0;
s.position = 'absolute', s.color = color;
e.appendChild(document.createTextNode(c));
this.obj = [];
this.v = getInnerView();
while (i<n)
this.obj[i++] = {
x: this.v.W * Math.random(),
y: this.v.H * Math.random(),
z: Math.random() * 20 + 2,
e: document.body.appendChild(e.cloneNode(true))
};
return this.start(this.fall);
}
Star.prototype.fall = function () {
var c = 0, o , s;
while (o = this.obj[c++]) {
if (o.y > this.v.H) {
o.z = Math.random() * 20 + 2;
o.x = Math.random() * this.v.W;
o.y = 0;
}
s = o.e.style, s.top = o.y + 'px', s.left = o.x + 'px', o.y += o.z;
} return true;
}
new Star(100, '.', '#660');
//______

var MBTN = false, MX=200, MY=2000;
document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
'mousedown', function() { MBTN = 1;},false);
document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
'mouseup', function() { MBTN = 0; }, false);
document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
'mousemove', function(evt) { MX = evt.clientX, MY = evt.clientY }, false);


Jiki = function () { this.init.apply(this, arguments) };
Jiki.prototype.init = function (id) {
var v = getInnerView();
var e = document.getElementById(id), s = e.style;;
this.obj = { e:e, s:s, x:v.W / 2, y:v.H - 60, mx:v.W - e.offsetWidth, my:v.H - e.offsetHeight};
s.display = 'inline';
this.move();
this.shot();
};
Jiki.prototype.move = function () {
var o = this.obj;
o.x += (MX - o.x) /10; if (o.x>o.mx) o.x = o.mx;
o.y += (MY - o.y) /10; if (o.y>o.my) o.y = o.my;
o.s.left = o.x + 'px';
o.s.top = o.y + 'px';
setTimeout((function(f_){ return function() {f_.move(); }; })(this), 20);
}

Jiki.prototype.shot = function () {
if (MBTN) {
var c = document.getElementById('tama').cloneNode(false), s = c.style;
document.getElementById('waku').appendChild(c);
s.display = 'inline';

var x = this.obj.x+15;
var y = this.obj.y;
var t = 4;
s.left = x + 'px';

var P = function shotloop(){
t*=1.05;
s.top = (y -= t)+ 'px';
if( y < 1) return document.getElementById('waku').removeChild(c);
setTimeout(shotloop, 10);
}
P();
}
setTimeout((function(f_){ return function() {f_.shot(); }; })(this), 500);
}


var J = new Jiki('jiki');

Teki = function () { this.init.apply(this, arguments) };
Teki.prototype = new Timer;
Teki.prototype.constructor = Teki;
Teki.prototype.init = function (e) {
this.interval = 10;
this.d = Math.PI /180;
var v = getInnerView();
var s = e.style;
s.display = 'inline';
var x = v.W / 4 + v.W * Math.random() * .5;
var k = Math.random() * 360;
var n = Math.random() * 15 +4;
this.obj = {e: e, x:x, y:0, mx: v.W, my: v.H, k:k, s:e.style, n:n};
};
Teki.prototype.move = (function (j) {
return function () {
var o = this.obj;
o.y += o.n;
o.x += Math.sin(o.k*this.d)*8;
if ( ((o.x - j.x)/40 | 0)==0 && ((o.y - j.y)/40|0)==0) alert("Game Over!");
if (o.x>o.mx || o.x<0 || o.y > o.my) this.init(o.e);
o.k += 5;
o.s.top = o.y + 'px';
o.s.left = o.x +'px';
return true;
};
})(J.obj);

Teki.add = function (id) {
var e = document.getElementById(id);
var p = e.parentNode;
e = e.cloneNode(true);
e.id = '';
e.style.position = 'absolute';
var o = new this(p.appendChild(e));
return o.start(o.move);
};
Teki.add('teki');
Teki.add('teki');

//_________________

</script>

返事なんていらないよ!なんか楽しい!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>STG</title>
<style type="text/css">
body { background-color:#000; color:#fff; margin:0; overflow:hidden;}
#waku { overflow:hidden; margin:0;}
#waku img { display:none; position:absolute; }
#star { display:none; }
#title { float:left; margin:1ex;}
#score { float:right; margin:1ex;}
#jiki { z-index:4; }
#tama { z-index:1; }
</style>
<body>
<div id="wak...続きを読む

Q初心者です。

初心者です。
以前、使用していたスクリプトをコピーしてきたのですが、どうしても以下のようなエラーが表示されてしまいます。

 Microsoft JScript コンパイル エラー (0x800A03EC)
 ';' がありません。
 /・・・・・**.asp, line 21, column 4

該当箇所に「;」が入ることは無いはずでどうすればよいのか困っております。
因みに該当する箇所は以下です。

 For i = 0 to UBound(splitkeyword)

このエラーで検索しても、なかなか理解出来ず・・・。
質問内容が分かりづらい場合はご指摘もお願いいたします。

Aベストアンサー

>For i = 0 to UBound(splitkeyword)
それ、どう見てもVBScriptのステートメントです。
.JSファイルなら、.VBSと改めましょう。HTMLでしたら
<SCRIPT Language="VBScript">とします。
因みにJavaScriptだと以下のようになるはずです。
for ( var i = 0 ; i < splitkeyword.length ; i++ ) {

Qjavascript初心者です。

javascript初心者です。

特定要素の相対座標位置を取得したく、getBoundingClientRect()を使用しているのですが、firefox2.0でも、見れるようにしなくてはいけなくて、その場合、getBoundingClientRect()がfirefox2.0では使えません。

それに変わる関数などを探していましたが、わからなかったので、下記のソースを
var element = document.getElementById("sample");
var elementY = element.getBoundingClientRect()

以下のように変えてみました。
var element = document.getElementById("sample");
var elementY = element.offsetTop - window.screenY;

ですが、予期した値が取得できません。
ページ内で、スクロールすると、elementYが変わるようになっています。


どう書き換えたらよいか、どなたかご教授お願いいたします。

javascript初心者です。

特定要素の相対座標位置を取得したく、getBoundingClientRect()を使用しているのですが、firefox2.0でも、見れるようにしなくてはいけなくて、その場合、getBoundingClientRect()がfirefox2.0では使えません。

それに変わる関数などを探していましたが、わからなかったので、下記のソースを
var element = document.getElementById("sample");
var elementY = element.getBoundingClientRect()

以下のように変えてみました。
var element = document.getElementById("sample");
var ele...続きを読む

Aベストアンサー

↓が結構、簡潔にまとめられてるので、参考になるかも..

http://cpplover.blogspot.com/2009/06/dom-level-3.html


人気Q&Aランキング

おすすめ情報