「JavaScript ゲーム製作勉強会 #jsgstudy」に行ってきた
昨日の日曜日に行われた 「JavaScript ゲーム製作勉強会」に行ってきました。
まずは会議室を貸していただいたニフティ様、スタッフの皆さんありがとうございました。
色々知らないことを知ることができました。この勉強会をうまくいかして成長できるよう頑張ります。
勉強会の詳細はtogetterもしくは、#jsgstudyで検索してください。
カテゴリー : javascriot
昨日の日曜日に行われた 「JavaScript ゲーム製作勉強会」に行ってきました。
まずは会議室を貸していただいたニフティ様、スタッフの皆さんありがとうございました。
色々知らないことを知ることができました。この勉強会をうまくいかして成長できるよう頑張ります。
勉強会の詳細はtogetterもしくは、#jsgstudyで検索してください。
昨日ぐらいから、はてなブックマークに「Raphael.js」という見たこともないライブラリが上がっていました。
JavaScriptでSVGのレーダーチャートを描画するライブラリ Raphael Radar をつくった
2つ目ののサイトはid:amachangが紹介しています。HPにも詳しく載っています。
簡単に言うと、javascriptで描写ができるライブラリです。
見るとFlashやHTML5のcanvasみたいに、web上で色々図形を描くことができます。
英語版でありますが、詳しいリファレンスが載っていますので是非参考に。僕も少し勉強してみます。
これまでは、HTMLやCSSを変化させることを簡単なんですが記述してきましたが、次はフォーム機能やアニメーションです。
例えば上記のようなフォームがよくWebサイトの中で見受けられます。これを動的に動かして行くのもjQueryで可能です。
1 2 3 4 5 6 | $(function(){ $("button").click(function(){ $("p").text( $("input").val() + "にメールを送信します"); $("button").text("送信"); }); }); |
基本は変わらず、指定したセレクタをボタンが押された際にどう変化するかを書いていきます。
「val()」はvalue属性を抜き出しています。
1 2 3 4 5 6 7 8 9 | $(function(){ $('select').change(fucntion(){ if($(':selected').attr("value") == "10代"){ $("input").attr("disabled","disabled"); } else{ $("input").removeAttr("disabled"); } }); }); |
年齢:
好きなお酒:
この場合選択した年齢が10代の場合は好きなお酒が記入できなくなるようにしています。
jQueryを使えば、アニメーション効果をつけることも簡単にできます。
[主なアニメーション]
shwo(),hide(),toggle()は基本的な画面の表示、非表示を切り替えられます。
第一引数に”slow”,”fast”などの速度を指定できます。
1 2 3 4 5 | $("button").click(function(){ $("p").show( slow,function(){ // show() が終わった際に呼び出す処理を記載 }); }); |
animate()はユーザーが独自にアニメーションを設定できます。
animate( CSSプロバティ、速度、動き、コールバック関数)
1 2 3 4 5 | $(function(){ $("button").click(fucntion(){ $("p").animate( { "marginLeft : "200px"} , "slow","swing"); }); }); |
ライブラリを使えば、簡単に色々動的なコンテンツを作成することができます。
後、jQueryには多くのフラグインがあります。
フラグインを使えばさらにできることが広がります。凄い!!
Javascriptの勉強をかねて、以前買った「jQueryデザイン入門」を読んでみます。
jQueryとはjavascriptのライブラリーの一種で2006年に公開されました。
どちらかというと外部を構成するデザイナー向けのライブラリーです。
特徴はコードをあまり書かないが、ダイナミックな表現を実践できることにあります。
使い方としては公式サイトから「jQueryライブラリー」をサーバーにアップロードして利用する方法が一般的です。
scriptタグの中にコードを記述することもできますが、外部ファイルに記述したほうが実務上楽でしょう。
1 2 3 4 5 |
その他、「Google AJEX Libratries API」を使えばサーバにDLしなくても、直接グーグルから呼び出して使うことができます。
この場合はjQuery以外にもDojoやprototype.jsなどのライブラリーも呼び出させます。
1 2 3 4 5 |
javascriptの開発環境をなんでしようかを考えていたのですが、FireBugと一緒に使えるFireQueryを使ってみます。
こういった開発環境を整えるのが億劫になってしまうんですよね。
FireQueryはFireBug上のコンソールに書いたコードがブラウザで表示されているHTML文章に適用されます。
1 2 3 4 5 | $("p").each(function(){ $(this).click(function(){ $(this).css("color","blue"); }); }); |
例えば上記コードをFireBugのコンソール内で実行すると、ブラウザないのPタグをクリックした際に文字の色が青に変わります。
[基本的書き方]
セレクタはタグの名前。タグの名前やid=”",class=”"などがしてできる。
CSS3やCSS2、「属性セレクター」、「jQuery独自のフィルター」など多くの記載方式があるみたいです。
セレクタを指定したら、そのセレクタに何を行わせるかの命令を記載します。
例
1 2 3 4 5 | // <a>のCSSを変更する。この場合は背景を緑、文字の色を白に。 $(function(){ $("a").css("background-color","green") .css("color","#ffffff"); }); |
[イベント]
通常のjavascriptのように、イベントを設定することが可能です。
例えば、あるセレクタをクリックしたら文章を変えるなどを設定できます。
1 2 3 4 5 6 | $(function(){ $("p").click(function(){ $(this).css("color","blue"); }); }); |
click以外にも、mouseover()、one()、toggle()など色々なイベントがあります。これらを組み合わせることによって寄り動的なサイトを作ることができます。
とりあえず、少ない時間の中で手を動かさないといけないので、インターネット上に散らばっている「javascript入門」を調べて勉強していきます。
scriptタグで囲まれた項目に、Javascriptを記述していきます。
これは外部ファイルを呼び出す方法もあります。
1 2 3 4 5 | <script type = "text/javascript"> <!-- document.write("あいうえお”); // --> </script> |
外部から呼び出す場合は
の中に以下のように記述する。1 | <script type="text/javascript" src="test.js"> |
イベントパンドラは属性部分で指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script type ="text/javascript"> function fuc(from){ from.result.value = eval(form.func.value); } </script> <form> Enter an expression: <input type="text" name="expr" size=15 > <input type="button" value="calculate" onclick="compute(this.form)"> Result: <input type="text" name="result" size=15 > </form> |
使用する関数はheadタグの中に入れたほうがいい。
1 2 3 4 5 | window.addEventLisnter("Load",function(){ document.getElementById("box").addEventListener("Click",function(){ document.getElementById("text").innerHTML += "クリックしました <br>" ; },true); },true); |
actionscriptと同じように、イベントリスナーを指定できます。
詳しくはこちらで
オブジェクトが持つ値を参照したり設定するものがプロパティ(属性)といいます。
太字がプロパティ
navigator.appName :ブラウザーの会社の名前。
navigator.appVersion :ブラウザーのバージョン名。
オブジェクトはまた、動作を指定する際に用いるものをメソッド(処理)と言います。
太字がメソッド
window.open(“http://albatrus.com/”,”blank”);
1 2 3 4 5 6 7 8 9 10 11 | // HTML内のidを指定できる。 document.getElementById(); //例 function test(){ document.getElementById("header1").style.color = "red"; } ・ ・ <p id="header1">Sample</p> <input type = "button" value ="色変更" onclick = "test()"> |
上記の例はDOM(Document Object Model)と言います。