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

この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ガーデニングの作り方

ガーデニングの簡単な作り方を教えてください。
鉢に限ります。

Aベストアンサー

こちらで

http://www.kenko-journal.com/my-little/back/005.html

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

QDIY、設計図、作り方

DIYに目覚めたものです。
ガーデニングのテーブルやイス、バーゴラ、
額縁のようなスタンド等いろいろ作りたいのですが、
寸法、繋ぎ方、板の厚みは?、強度の取り方。
これらを参考に出来るための設計図や作り方のアドバイスを
インターネットで提供していただいているところは
ないものでしょうか?
以前本屋さんに行きましたが作品集が少なく、
何冊も買わないといけないのであきらめました。

Aベストアンサー

こちらのサイトにテーブルの設計図や作り方が掲載されています。

参考URL:http://current-server.com/diy/

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

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

Aベストアンサー

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

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

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

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

Qマックのナゲット・ソースの作り方

マックのナゲットとナゲットソースが大好き
です。自分で作ってみたいのでお知恵を
貸して下さい。
○ナゲットの作り方
○バーベキュウソースの作り方
○マスタードソースの作り方
よろしくおねがいします。

Aベストアンサー

チキンナゲットの作り方は以下です。

<材料>
皮なし鶏むね肉・・・200g
タマネギ・・・1/4個
砂糖・・・大盛り大さじ1
塩・・・大盛り小さじ1
天ぷら粉・・・大さじ2
卵黄・・・1個

<作り方>
1)鶏肉、タマネギを適当な大きさに切り、材料を全部入れ、フードプロセッサーにペースト状になるまでかける。

2)スプーンで形を整え、油に落とし、キツネ色になったらできあがり。

ソースの作り方は知らないのですが、マックで一つ10円で売ってくれるのでたくさん買ってはどうでしょう?2ヶ月くらいは賞味期限がありますよ。

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すすきのふくろう みみずくの作り方は?

むかしおばあちゃんが作ってくれた「すすきのふくろう」の作り方を知りたくなって、探してみたのですが、作り方を紹介しているページを見つけることが出来ませんでした。

どなたか、すすきのふくろう、あるいはみみずくの作り方を紹介しているページを御存知の方、ページを紹介していただけないでしょうか?
もちろん、作り方そのものを教えていただけるかたも歓迎です。
宜しくお願いします。

Aベストアンサー

僕は小学生のときに作ったことがあったんですが、
作り方は忘れました。
作り方を簡単に紹介しているサイトを見つけたのでお知らせします。

参考URL:http://www01.u-page.so-net.ne.jp/fa2/sakaeya/MIMIZUKU.html

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ベストアンサー

参考URLをはっておきます。
ソラマメのとる時期?というのが良く分からなかったのですが、
醤油豆の作り方が知りたいということで解釈しました。

参考URL:http://www.kbn.ne.jp/kagawa/products/nousann1.htm

QJavaScript初心者です。質問が

あります。
誕生日勘定関数birth()、
うるう年対応関数uruu()
はそれぞれ単独で作動することを確認しています。
がbirth()にuruu()を組み込むと作動しなくなります。
どうしたら解決するのでしょうか?
<script language="JavaScript">
<!--
function birth(){
set_m = eval(document.myForm.formm.value);
set_d = eval(document.myForm.formd.value);

if(set_m<1 || set_m>12){
alert("正しい月日を入力してください!");
return false;
}
if(set_m ==2 && set_d>29){
alert("正しい月日を入力してください!");
return false;
}
if(set_m ==1 | set_m ==3 | set_m ==5 | set_m ==7 | set_m ==8 | set_m ==10 |set_m ==12){
if(set_d<1 || set_d>31){
alert("正しい月日を入力してください!");
return false;
}
}else if(set_d <1 | set_d>30){
alert("正しい月日を入力してください!");
return false;
}
if(set_m ==2 && set_d ==29)
uruu();
else if{
now = new Date();
b = now.getYear();
spday= new Date (b,set_m-1,set_d);
spday2 = new Date(b-1,set_m-1,set_d);
spday3 = new Date(b+1,set_m-1,set_d);
a = (spday.getTime() - now.getTime())/(24*60*60*1000);
a = Math.ceil(a);
c = (spday2.getTime() - now.getTime())/(24*60*60*1000);
c = Math.ceil(c);
d = (spday3.getTime() - now.getTime())/(24*60*60*1000);
d = Math.ceil(d)

aa = Math.abs(a);
cc = Math.abs(c);
dd = Math.abs(d);

if(aa==0) document.write("誕生日おめでとう!!");
else if( a<0 && dd>aa && aa<cc) document.write("誕生日から",aa,"日過ぎました・・・");
else if(a<0 && aa>=dd && dd<cc) document.write("あと",dd,"日で誕生日です。");
else if(aa<=cc && aa<dd) document.write("あと",aa,"日で誕生日です。");else if(aa>cc && cc<dd ) document.write("誕生日から",cc,"日過ぎました・・・");
}

}

function uruu(){
now = new Date();
b = now.getYear();
spday = new Date(b,2-1,29);
a = (spday.getTime()- now.getTime())/(24*60*60*1000);
a = Math.ceil(a);
aa = Math.abs(a);

if(a<0){
if(b%4==0)
document.write("誕生日から",aa,"日経過しました。");
else if(b%4==1)
document.write("誕生日から",365+aa,"日経過しました。");
else if(b%4==2)
document.write("あと",365+365-aa,"日で誕生日です。");
else if(b%4==3)
document.write("あと",365-aa,"日で誕生日です。");
}else if(a>0){
if(b%4==0)
document.write("あと",aa,"日で誕生日です。");
else if(b%4==1)
document.write("誕生日から",365-aa,"日経過しました。");
else if(b%4==2)
document.write("誕生日から",365+365-aa,"日経過しました。");
else if(b%4==3)
document.write("あと",365+aa,"日で誕生日です。");
}else if(a==0)
document.write("誕生日おめでとう!!");

}
-->
</script>

<form name="myForm">
<input type="text" name="formm" size=2>月
<input type="text" name="formd" size=2>日
<input type="button" value="誕生日勘定する" onClick="birth()">
</form>

あります。
誕生日勘定関数birth()、
うるう年対応関数uruu()
はそれぞれ単独で作動することを確認しています。
がbirth()にuruu()を組み込むと作動しなくなります。
どうしたら解決するのでしょうか?
<script language="JavaScript">
<!--
function birth(){
set_m = eval(document.myForm.formm.value);
set_d = eval(document.myForm.formd.value);

if(set_m<1 || set_m>12){
alert("正しい月日を入力してください!");
return false;
}
if(set_m ==2 && set_d>29){
alert("正しい月日を入力してくだ...続きを読む

Aベストアンサー

はじめまして。

これ自体は

if(set_m ==2 && set_d ==29)
uruu();
else if{
   ↑このifを削除すれば動きます。

=======

でも空白や数字以外でボタン押されるとエラーになるので

set_m = document.myForm.formm.value;
set_d = document.myForm.formd.value;

if(set_m<1 || set_m>12 ||set_m==""||set_m.match(/[0-9]+/g)!=set_m){
alert("正しい月を入力してください!");
return false;
}else{
set_m=Math.floor(set_m,0);
}

if(set_d<1 || set_m>32 || set_d==""||set_d.match(/[0-9]+/g)!=set_d){
alert("正しい日を入力してください!");
return false;
}else{
set_d=Math.floor(set_d,0);
}

if(set_m ==2 && set_d>30){
alert("正しい日を入力してください!");
return false;
}else if((set_m ==4 || set_m ==6 || set_m ==9 || set_m ==11)&&(set_d>31)){
alert("正しい日を入力してください!");
return false;
}else if(set_m ==2 && set_d==29){
uruu();
}else{

now = new Date();…

こんな感じでどうでしょう?

最低限ならこの程度の修正でどうですか?

はじめまして。

これ自体は

if(set_m ==2 && set_d ==29)
uruu();
else if{
   ↑このifを削除すれば動きます。

=======

でも空白や数字以外でボタン押されるとエラーになるので

set_m = document.myForm.formm.value;
set_d = document.myForm.formd.value;

if(set_m<1 || set_m>12 ||set_m==""||set_m.match(/[0-9]+/g)!=set_m){
alert("正しい月を入力してください!");
return false;
}else{
set_m=Math.floor(set_m,0);
}

if(set_d<1 || set_m>32 || set_d==""||set_d.match(/[0-9]+/g)!=set_d){
...続きを読む


人気Q&Aランキング