基本セッティング
前回の「初めてのenchant.js 001 基本的なこと[JavaScript]」で準備したファイルでenchant.jsの基本セッティングを行ってみようとおもいます。
まず、index.htmlにゲームのエンジン「enchant.js」と、ゲームの内容をプログラムしていく「main.js」を読み込みます。
読込順は、「enchant.js」→「main.js」です。
前回の「初めてのenchant.js 001 基本的なこと[JavaScript]」で準備したファイルでenchant.jsの基本セッティングを行ってみようとおもいます。
まず、index.htmlにゲームのエンジン「enchant.js」と、ゲームの内容をプログラムしていく「main.js」を読み込みます。
読込順は、「enchant.js」→「main.js」です。
最近クロスデバイス&クロスプラットフォームな需要がどんどん高まってきてるなぁーとつくづく実感しております。
インタラクションの効いたコンテンツを作ろうと思った場合に、
ボタンにonClick属性をつけてトラッキングする。
(hogehoge部分は任意の仮想URL)
<a onClick="_gaq.push(['_trackPageview','/hogehoge']);" href="xxxx.mp3" target="_blank">
通常の配列はsort(),reverse()を使うべし。
var arr = [3,5,1,6,3,4,6,3,6,7,4]; alert(arr); //昇順 arr.sort(); alert(arr); //降順 arr.reverse(); alert(arr);
//keyでソートする function keySort(hash,sort){ var sortFunc = sort || reverse; var keys = []; var newHash = {}; for (var k in hash) keys.push(k); keys[sortFunc](); var length = keys.length; for(var i = 0; i < length; i++){ newHash[keys[i]] = hash[keys[i]]; } return newHash; } //テストデータ var hash = { "e":55, "f":66, "g":77, "name":88, "a":11, "b":22, "c":33, "d":44 }; /* * テスト */ //元のハッシュ var str = "元のハッシュ\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str); //昇順(デフォルト)でソート hash = keySort(hash); str = "昇順\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str); //降順でソート hash = keySort(hash,"reverse"); str = "降順\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str);
Android(スマホ)向けサイトでPDFファイルをダウンロードするとエラーが発生。
どうやらBasic認証がかかったサイトではPDFダウンロードでエラーが発生してしまうみたい。
Classの宣言(作成)的なものは、無名関数を代入するのみ。
定義はprototypeにするべし。
var Rect = function(){}; Rect.prototype = { width:400, height:300, getArea:function(){ return this.width * this.height; } }; var rect = new Rect(); alert(rect.width); alert(rect.height); alert(rect.getArea());
コンストラクタは、Classの宣言(作成)時の無名関数に定義する。
var Rect = function(w,h){ this.width = w; this.height = h; }; Rect.prototype = { width:400, height:300, getArea:function(){ return this.width * this.height; } }; var rect = new Rect(200,200); alert(rect.width); alert(rect.height); alert(rect.getArea());
まずメソッドとかの呼び出しは、
1、インスタンス内を検索
2、プロトタイプ内を検索
の流れになる。
var Hoge = function(){}; Hoge.prototype = { alert:function(mes){ alert("Hoge.prototype:"+mes); } }; var hoge = new Hoge(); hoge.alert("Hello"); //Hoge.prototypeのalert()メソッドを実行 hoge.alert = function(mes){ alert("hoge.instance:"+mes); }; hoge.alert("Hello"); //hogeインスタンスのalert()メソッドを実行
プロトタイプに親クラスをnewして代入すれば、
親クラスのプロトタイプが子クラスのプロトタイプとなる。
var Parent = function(){}; Parent.prototype = { test:function(){ alert('Parent.prototype::test'); } }; var Child = function(){}; Child.prototype = new Parent(); var child = new Child(); child.test();
function hoge(arg1,arg2){ var a = arg1 || "デフォルト値a"; var b = arg2 || "デフォルト値b"; alert("a:" + a + ",b:" + b); } hoge("fuga","foo"); hoge();
変数にデフォルト値を設定する場合は「||」OR演算子の特性を利用して上のようする。
Powered by WordPress & Theme by Anders Norén