カテゴリー : javascriot

「JavaScript ゲーム製作勉強会 #jsgstudy」に行ってきた

昨日の日曜日に行われた 「JavaScript ゲーム製作勉強会」に行ってきました。

まずは会議室を貸していただいたニフティ様、スタッフの皆さんありがとうございました。
色々知らないことを知ることができました。この勉強会をうまくいかして成長できるよう頑張ります。

勉強会の詳細はtogetterもしくは、#jsgstudyで検索してください。

続きを読む

【javascript】 Raphael.jsとは 

昨日ぐらいから、はてなブックマークに「Raphael.js」という見たこともないライブラリが上がっていました。

JavaScriptでSVGのレーダーチャートを描画するライブラリ Raphael Radar をつくった

Raphael.JS でテトリスみたいなゲームを作ろう!

2つ目ののサイトはid:amachangが紹介しています。HPにも詳しく載っています。

簡単に言うと、javascriptで描写ができるライブラリです。
見るとFlashやHTML5のcanvasみたいに、web上で色々図形を描くことができます。

英語版でありますが、詳しいリファレンスが載っていますので是非参考に。僕も少し勉強してみます。

[jQuery] 少し発展して勉強してみた。

jQueryでフォーム

これまでは、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でアニメーション

jQueryを使えば、アニメーション効果をつけることも簡単にできます。
[主なアニメーション]

  •  show(): 徐々に表示をする。第一引数で速度を指定できる。
  •  hide():徐々に非表示にする。
  •  fadeIn() : フィードインで表示する。
  •  toggle():表示、非表示を徐々に切り替える
  • animate() : 任意のCSSプロパティの値を変更する

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には多くのフラグインがあります。
フラグインを使えばさらにできることが広がります。凄い!!

[参考書籍]
Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)
Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

[JQuery] 基本的なこと。

Javascriptの勉強をかねて、以前買った「jQueryデザイン入門」を読んでみます。

jQueryとは

jQueryとはjavascriptのライブラリーの一種で2006年に公開されました。
どちらかというと外部を構成するデザイナー向けのライブラリーです。
特徴はコードをあまり書かないが、ダイナミックな表現を実践できることにあります。

使い方としては公式サイトから「jQueryライブラリー」をサーバーにアップロードして利用する方法が一般的です。
scriptタグの中にコードを記述することもできますが、外部ファイルに記述したほうが実務上楽でしょう。

1
2
3
4
5
<head>
  //メタダグなど
  <script type="text/javascript"  src="./jquery-1.3.2.min.js"><script>
  <script type ="text/javascript" src ="./albatrus.js"><script>
</head>

その他、「Google AJEX Libratries API」を使えばサーバにDLしなくても、直接グーグルから呼び出して使うことができます。
この場合はjQuery以外にもDojoやprototype.jsなどのライブラリーも呼び出させます。

1
2
3
4
5
<script type ="text/javascript" src ="http://www.google.com/jsapi"></script>
<script type ="text/javascript" > google.load ("jquery","1.3.2");  </script>

//もしくは、直接呼び出しても大丈夫です。
<script type ="text/javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

jQueryの基本

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独自のフィルター」など多くの記載方式があるみたいです。

セレクタを指定したら、そのセレクタに何を行わせるかの命令を記載します。

  • text(“変更したいテキスト内容”);
  •   

  • css(“…..”,”…..”) CSSの制御
  • append(….) :要素の最後に指定したHTMLを移動させる
  • html(“変更したいhtml”);
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()など色々なイベントがあります。これらを組み合わせることによって寄り動的なサイトを作ることができます。

[参考書籍]
Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)
Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

Javascript入門【メモ】

とりあえず、少ない時間の中で手を動かさないといけないので、インターネット上に散らばっている「javascript入門」を調べて勉強していきます。

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と同じように、イベントリスナーを指定できます。

  • 第一引数には、Click mouseoverなどのイベントの種類を指定する。
  • 第二引数には、実行する関数。
  • 第三引数には、true か falseを指定する。

詳しくはこちら

プロパティとメソッド

オブジェクトが持つ値を参照したり設定するものがプロパティ(属性)といいます。
太字がプロパティ
navigator.appName :ブラウザーの会社の名前。
navigator.appVersion :ブラウザーのバージョン名。

オブジェクトはまた、動作を指定する際に用いるものをメソッド(処理)と言います。
太字がメソッド
window.open(“http://albatrus.com/”,”blank”);

DOM

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</>
<input type = "button"  value ="色変更"  onclick = "test()">

上記の例はDOM(Document Object Model)と言います。