¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

JavaScript/tmlib.js ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×(No.13)


¼¡¤Î¥¤¥Ù¥ó¥È¤Ë»²²Ã¤·¤Æ¿§¡¹¶µ¤¨¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£
¡ÚTechBuzz¡Ûtmlib.js hackthon #1 ¡ÁJavaScript ¤ò¤è¤ê»È¤¤¤ä¤¹¤¯, ¤è¤êÊØÍø¤Ë, ¤½¤·¤Æ¤è¤êË­¤«¤Ë¤ò¥â¥Ã¥È¡¼¤È¤¹¤ë¡Ötmlib.js¡×¤Î¥Ï¥Ã¥«¥½¥ó¥¤¥Ù¥ó¥È³«ºÅ¡Á
¥¹¥é¥¤¥É¥·¥ç¡¼
tmlib.js¤È¤ÏPC/iPhone/Android¤Ê¤É¤Î¥Ö¥é¥¦¥¶¤ÇÆ°¤¯web¥¢¥×¥ê¤ò³«È¯¤Ç¤­¤ëJavaScript¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£ ¤â¤Á¤í¤ó¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ÈFTP¥½¥Õ¥È¤È¤«¤Ç³«È¯¤Ç¤­¤ë¤Î¤Ç¤¹¤¬¡¢º£²ó¤Ïjsdo.it¤È¤¤¤¦¥Ö¥é¥¦¥¶¾å¤Çhtml/css/JavaScript¤Ê¤É¤Î³«È¯¤¬¹Ô¤¨¤ëweb¥µ¡¼¥Ó¥¹¤Ç³«È¯¤·¤Þ¤·¤¿¡£ ¤³¤Á¤é¤¬Ìܤ«¤é¥¦¥í¥³¤Ç¤·¤Æ¡¢¼¡¤Î¤è¤¦¤Ê¼ê½ç¤Ç´Êñ¤Ë³«È¯¤Ç¤­¤Þ¤·¤¿¡£

  1. twitter, facebook¤Ê¤É¤Çjsdo.it¤Ë¥í¥°¥¤¥ó
  2. ¼«Ê¬ÍѤΥե©¥ë¥À̾¤òÆþ¤ì¤ë(»ä¤Ïpapuujp)
  3. Start coding¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢ºÇÄã¸Â¤Îindex.html, index.js, style.css¤¬¥µ¡¼¥Ð¾å¤Çºî¤é¤ì¡¢¥Ö¥é¥¦¥¶¤ÇÊÔ½¸²Äǽ¤È¤Ê¤ë
  4. +¥Ü¥¿¥ó¤Ç»È¤¤¤¿¤¤JavaScript¥é¥¤¥Ö¥é¥ê(jQuery Mobile, tmlib.js, enchant.js¤Ê¤É)¤òÄɲ乤ë
  5. index.js¤Ëºî¤ê¤¿¤¤¥³¡¼¥É¤ò½ñ¤¤¤Æ¡¢command + s(mac)¤äcontrol + s(windows)¤ÇÊݸ¤¹¤ë¤È¡¢¥×¥ì¥Ó¥å¡¼¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤µ¤ì¤ë

²¿¤¬¤¤¤¤¤«¤È¤¤¤¦¤È¡¢FTP¤Ç¥¢¥Ã¥×¤·¤Ê¤¯¤Æ¤â¥µ¡¼¥Ð¾å¤Ç¤¹¤°¤Ë¸ø³«¤µ¤ì¤¿¾õÂ֤ǻ¤ë¤³¤È¤Ç¤¹¡£ Î㤨¤Ðº£²óºî¤Ã¤¿¥µ¥ó¥×¥ë¤Ï¤³¤Á¤é¤È¤Ê¤ê¤Þ¤¹¡£¥Þ¥¦¥¹¤ä¥¹¥Þ¥Û¾å¤Î»Ø¥¹¥é¥¤¥É¤Ç¼«µ¡¤òº¸±¦¤ËÆ°¤«¤·¡¢À±¤òÈò¤±¤ë¥²¡¼¥à¤Ç¤¹¡£
http://jsrun.it/papuujp/star-game2
¥½¡¼¥¹¤â¸ø³«¤Ç¤­¤Æ¡¢¤³¤Á¤é¤È¤Ê¤ê¤Þ¤¹¡£Èó¸ø³«¤È¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
http://jsdo.it/papuujp/star-game2
jsdo.it¤ò»È¤¦¤ÈiPad¤Ç¤âweb¥¢¥×¥ê³«È¯¤¬¹Ô¤Ê¤¨¤Þ¤¹¤·¡¢JavaScript¤äjQuery Mobile¤Ê¤É¤Î¼Â½¬·Á¼°¤ÎÊÙ¶¯²ñ¤È¤«¤Ç¤â¼ê·Ú¤Ë»È¤¨¤½¤¦¤Ç¤¹¡£
¡Ê¥Ç¥Ð¥Ã¥°µ¡Ç½¤¬¼å¤¤¤Î¤Ç¡¢¤½¤Á¤é¤ÏGoogle Chrome Developer¥Ä¡¼¥ë¤ò°ì½ï¤Ë³«¤±¤Ð¤¤¤¤¤È¤¤¤¦¤³¤È¤â¶µ¤¨¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¤È¤Æ¤âÊØÍø¤Ç¤·¤¿¡Ë

tmlib.js¼«¿È¤Ï¼¡¤Î¤è¤¦¤Ë¿§¡¹¤Ê²ÄǽÀ­¤ò´¶¤¸¤Þ¤·¤¿¡£

  • ¼ê·Ú¤Ë»î¤»¤ë
  • ¥¢¥Ë¥á¡¼¥·¥ç¥ó¤È¤«¤¬ÆÀ°Õ
  • ¥¹¥Þ¥Û¥¿¥Ã¥Á¤äPC¤Ç¤Î¥Þ¥¦¥¹Áàºî¤Î°ã¤¤¤òµÛ¼ý¤·¤ÆξÂбþ¤Îweb¥¢¥×¥ê¤òºî¤ì¤ë
  • AppStore¤È¤«¤Ë¸ø³«¤·¤Ê¤¤¤Ç¤â¤¹¤°¤Ë¥ê¥Ã¥Á¤Êweb¥¢¥×¥ê¤ò¸ø³«¤Ç¤­¤ë
  • facebook¥¢¥×¥ê¤âºî¤ì¤½¤¦
  • Titanium Mobile¤ÎWebView¤ËÆþ¤ì¤Æ¡¢²èÌÌɽ¼¨¤ò¥ê¥Ã¥Á¤Ë»È¤¨¤½¤¦
    tmlib¤Ç²¿¤¬ºî¤ì¤ë¤«¤Ï¡¢¥Ô¥ó¤­¤ê¤Ç¤¹¤¬¼¡¤Ç¤ª»î¤·¤¯¤À¤µ¤¤¡£
    http://jsdo.it/search?q=tmlib

¥¹¥Ë¥Ú¥Ã¥È

¥á¥¤¥ó½èÍý

// main ½èÍý
tm.main(function() {
    alert("tmlib.js ¤Á¤ã¤ó¤È»È¤¨¤Æ¤ë¤è¡Á¤ó¢ö");
});

¥¯¥é¥¹ÄêµÁ

var Hoge = tm.createClass({
    init: function(num) {
        this.num = num;
    },
    toString: function() {
        return "»ä¤Î¿ôÃͤÏ{num}¤Ç¤¹!!".format(this);
    }
});
var hoge = Hoge(128);
document.write(hoge.toString());
document.write("<br />");

¥¨¥Í¥ß¡¼¥¯¥é¥¹ÄêµÁ

ÇÛÎóÊÑ¿ôenemyList¤ò»È¤Ã¤¿Å¨½èÍý¤¬ÊÙ¶¯¤Ë¤Ê¤Ã¤¿¤Î¤Ç¥½¡¼¥¹°ìÉô¤ò°úÍѤ·¤Þ¤·¤¿¡£¼¡¤ÎÅÀ¤ËÃí°Õ¤·¤Æ¸«¤ë¤ÈÊÙ¶¯¤Ë¤Ê¤ê¤Þ¤¹¡£

  • enemyList¤ò½é´ü²½¤¹¤ë°ÌÃÖ ... ¥á¥¤¥ó¥·¡¼¥ó¤Î½é´ü²½½èÍý
  • enemyList¤ÎÃæ¤ËÆþ¤ì¤ëEnemy¥¯¥é¥¹¤ÎÄêµÁÊýË¡
  • Enemy¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÀ¸À®¡¢¥·¡¼¥ó¤ª¤è¤ÓenemyList¤Ø¤ÎÄɲÃ
  • Enemy¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥·¡¼¥ó¤ª¤è¤ÓenemyList¤«¤é¤Îºï½ü ¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à¤ÎÁ´¥³¡¼¥É¤ÏJavaScript/tmlib.js/sample/Èò¤±¥²¡¼(³«»Ï, ½ªÎ»²èÌ̤¢¤ê)¤Ë°úÍѤµ¤»¤Æ¤¤¤¿¤À¤¤¤Æ¤Þ¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤Ï¤³¤Á¤é¤Ç¤¹¡£

#pre{{
/*
* ¥°¥í¡¼¥Ð¥ëÊÑ¿ô
*/
var enemyList = null;

/*
* ¥¨¥Í¥ß¡¼
*/
var Enemy = tm.createClass({
superClass: tm.app.StarShape,
// ½é´ü²½
init: function() {
this.superInit(PLAYER_SIZE, PLAYER_SIZE);
},
// ¹¹¿·
update: function(app) {
this.y += 8; // °ÜÆ°
this.rotation += 15; // ²óž
// ºï½üȽÄê
if (this.y > SCREEN_HEIGHT) {
this.remove();
enemyList.erase(this);
}
}
});

// ¥á¥¤¥ó¥·¡¼¥ó
var MainScene = tm.createClass({
superClass: tm.app.Scene,
init: function() {
this.superInit();

enemyList = [];

// ¥×¥ì¥¤¥ä¡¼
this.player = Player();
this.addChild(this.player);
this.player.x = SCREEN_CENTER_X;
this.player.y = SCREEN_HEIGHT-100;
},

update: function() {
// ¥¨¥Í¥ß¡¼À¸À®
if (app.frame % 8 == 0) {
// ¥¨¥Í¥ß¡¼
var enemy = Enemy();
enemy.x = tm.util.Random.randint(0, SCREEN_WIDTH);
enemy.y = -50;
this.addChild(enemy); // ¥·¡¼¥ó¤ËÄɲÃ
enemyList.push(enemy); // ¥ê¥¹¥È¤ËÄɲÃ
}

// ¥×¥ì¥¤¥ä¡¼, ¥¨¥Í¥ß¡¼¾×ÆÍȽÄê
for (var i=0,len=enemyList.length; i<len; ++i) {
var enemy = enemyList[i];
// ¾×ÆÍȽÄê
if (this.player.isHitElement(enemy)) {
// Game Over
app.replaceScene(ResultScene());
}
}
}
});
}}

¥ê¥ó¥¯