ラベル IXA の投稿を表示しています。 すべての投稿を表示
ラベル IXA の投稿を表示しています。 すべての投稿を表示

2013年9月7日土曜日

戦国IXAとIXA用ツール開発の変遷 3

 JSActionsを使っていたのは2010年の春頃からのことだったと記憶している。

3.GreaseMonkeyとの出会い

 JSActionsを使って色々なスクリプトを作っていた。IXAの地図上で、敵拠点の城主のプロフィールや合戦報告書を表示するのは出来たのだが、自分の最短の位置にある拠点からの距離を表示するのは地図上から出来なかった。

 Javascriptに対してはかなり理解が深まったのだが、HTMLやスタイルシート(CSS)など、WEBに関する知識に疎かったため、どうすることも出来なく、何とかしようと試行錯誤はしていた。
 FireFoxのアドオンはどうだろうかと試そうとしたり。結局いろいろ大変そうなので諦めたが…。

 そんなときWebでGreaseMonkeyの記述を見て、調べてみると、特定のページに対して、HTMLコードを操作して、特別な事を仕込む事が簡単に出来るらしいという事が分かった。

 試してみて、JSActionsのように手軽にスクリプトが組み込めるし、ボタンを表示させそこからスクリプトの起動するようなことも出来るので、いろいろ応用が利く事が分かった。

 同盟情報から同盟員の一覧を、リンクを辿った情報と一緒にまとめて、Excelに貼り付けられるように加工したりするスクリプトを作ったりした。

 こんな中で「どこ近」が作られた、ある地点に陣を作成しようとしたり、同じ同盟員の拠点に加勢を送ったりするときに、自分のどの拠点が一番近いのかを表示するスクリプトだ。

 最短の距離から部隊を送り出した後で、より近い拠点があったことが分かり残念に思った事が何度もあったので、これを無くしたいという思いから生まれた。

 「どこ近」のスクリプトがやっているのは、ある特定の座標において、自分のプロフィール画面から、自分の拠点の座標を拾い集めたものと、距離を計算して、最も近い拠点を表示することである。実際には、近い順に3箇所、ただし2番目以降は、もっとも近い地点と比べて、そこそこ近いものがある場合だけ表示される。距離10と距離50の拠点がある場合は、ひとつしか表示されない。最短拠点の距離と25%遠いところまでが表示される可能性がある仕様だったと思う。(ソース確認しろよw)

 こんな風にツールを使っていたが、座標を拾ってくる部分などは、HTMLソースをRegEx(正規表現)関数を使って抜き出す自前プログラムで行っていた。この時はまだjQueryは知らなかったのである。

2012年12月1日土曜日

戦国IXAとIXA用ツール開発の変遷 2

>2010年の夏から戦国IXAというブラウザゲームをやっていて、ちょっと不便なことの解消とか、集計とか、プチ便利機能とかをJavascriptでプログラムしてみたりしている。
>そこで自分の戦国IXAとIXA用ツール開発の変遷をちょっと述懐してみる。
1年振りの続き更新w
2.JSActionsとの出会い
 1でのデータ収集は結局Excelに取り込んで、ある地点へは自分のどの拠点が一番近いのかを調べたりするのによく使った。敵拠点の分布を調べたりとかも使えるのだが、刻一刻と変化するために、そんなには役に立たず。陣張りのときに効率よくするためによく使っていた。
 IXAの地図画面で、敵拠点を右クリックして、簡単に情報を見られたらいいなと思って、いろいろと調べていたら、JSActionsというアドオンが使えそうだと確信して、簡単なスクリプトを書いて試したりしてみた。この時点ではJavaScriptについては、Webのページに埋め込んで、カーソルを持っていくと変化させたりする言語くらいの認識しか無かったw
 いろいろ勉強してみると結構本格的なこともできそうなのだが、デバッグは大変そうなので、やはり簡単なものものを作るのが無難かなという印象だった。JSActionsを使わなくてもできるのだろうが、そのためにはHTMLやらWEB全般にもっと深い理解が必要と思われたので、自前のスまクリプトを起動させてくれるのにJSActionsは非常に便利だった。ブラウザの表示の仕組みをそんなに深く調べなくてもスクリプトが作れたのだから。
 地図上の拠点を指して右クリックで、自分の拠点からの最短候補を(アラート)表示したり、城主のプロフィール・合戦報告書などのURLを開くスクリプトなどを次々と試行錯誤しながらも作れたのである。

2012年11月28日水曜日

放置ブログ、さてどうする

 もう1年以上も放置しているブログだが、忙しい・・・というより面倒なだけで、暇なときは、こんなブログなんて書く気も起こらないが、年の瀬が迫って忙しくなったりすると、妙に書き込みしたくなるもの。もうすぐ師走だ。

 戦国IXAのツールも、IXA自体で遊ぶ気力が薄れてるために、最低限のメンテしかしていない状態。スクエニのUI改造も、ただ重くなるだけで、鯖の負担だけが増えてるようにしか思えない。 Mokoの機能も大分影響受けて使えなくなってるらしいが、もともといらない機能も多いんで、そんなに不便は感じない。いまだにIXAに熱い情熱を傾けている方々には不満いっぱいかもしれんが、どうでもいい感が支配しつつある者にとっては、やっぱもういいかと思ってしまうのだ。

 最近、GoogleのタブレットのNexus7を手に入れたのだが、 Chromeなどのブラウザ上でIXAをするのはすごく大変で、タブレットの手軽さで、IXAを気楽に楽しもうという方向へは行かない気がする。スマホとタブレットは別仕様にするしかないのかも。

 IXAはさておき、Nexus7だが、結構便利。いままでスマホとか使ったことないので知らなかったので、その便利さを知らなかったが、外に出歩かない者でも十分便利なのに、外に出て取材したりするジャーナリストの方々にはそりゃまあ革命的といえるほど便利ですね。
 
 今はWiFiでしか試せないけど、いつでもどこでも高速通信ができるようになれば、いろいろまた新しいことができるようになるはず。モバイルの弱点は、文字入力とういか文章入力だな。音声入力もまだまだだし、日本語だと同音異義語が多い漢語は特に難しい。大和言葉はけっこう正しく変換してくれるが。

 で、このブログだが、当分はNexus7の防備録とかに使おうかな。

2011年8月18日木曜日

Google Chrome と Firefox Greasemonkey の互換性

Firefox Greasemonkey のスクリプトが Google Chrome で動くというけれど、スクリプトのヘッダー部分にある @include を @match にするというだけではダメだったりする。

@include …/troop.php#ptop
というURLに対してスクリプトを動かしたいのだが
Firefox + Greasemonkey では動作するが、Chromeじゃ動かない。
@match …/troop.php#ptop
とするだけではマッチしないようなのだ。

でしょうがないので
@match …/troop.php*
としておいて、スクリプト内で
if (document.URL.match('#ptop$')) {

}
という具合にして、URLをチェックして該当する場合に実行するようにしたらOKだった。

2011年7月21日木曜日

戦国IXAとIXA用ツール開発の変遷 1

2010年の夏から戦国IXAというブラウザゲームをやっていて、ちょっと不便なことの解消とか、集計とか、プチ便利機能とかをJavascriptでプログラムしてみたりしている。

そこで自分の戦国IXAとIXA用ツール開発の変遷をちょっと述懐してみる。

1.まずはマップの敵・味方拠点の集計

  20x20の地図から、敵・味方の拠点を選び出しリスト化するのを、ソースを
  セーブして、それをFreeBSDに転送して、sed, grep, awk 等を駆使して
  CSVファイルにして、それをPCへ転送、Excelに貼りつけて利用したのが最初だった。

  ExcelからIXAのマップへリンクと思ったら…IXA側でセッションタイムアウトとなり
  リンク先(この場合マップ画面)が開かない。これじゃ、あんまり役にたたない。

  そこで、Excelの代わりに、Google Docsのスプレッドシートを使ってみたら
  見事リンク先のマップが開くのに成功。こりゃ結構便利だ。
  Google DocsのスプレッドシートはExcel程のきめ細かさはないものの、それなりの
  ことはできる。一年くらい前は、フィルター機能がなかったが、いつの間にか改良が
  進み、使えるようになったし、今でも日々改良が進んでいるようだ。

  Google Docsは業務で使うのならともかく、個人で使う分には十分の性能だと思う。
  印刷関係が今一歩で、特にどうでもいいところにこだわる傾向がある日本人には
  なかなか浸透していかないのかもしれないが、Officeソフトもまともに買えなく
  なるような貧困化が進めば、着実にシェアを伸ばしていくような気がする。

  まあ、最初は砦の周りの敵味方の集計をと思ってつくり始めたが、Google Docsで、
  ネット上の表計算シートを使う便利さに目覚めて、これから来るであるクラウドの
  時代の便利さの触りを感覚的に知ってしまったのであった。

  自分専用のPCじゃ無くてもいいし、iPadのようなものでもいけそうな時代がやってきた
  のを体感してしまった。まだPCの方が便利だけど。

  その後、FreeBSDに転送したりするのが面倒なこともあり、拠点のリスト化はそんなに
  使うことはなかった。

  あと、IXAの漢字コードはUTF-8で、grepが扱えるのがEUCとかSHIFT-JISとかなので
  扱えない漢字を使っている城主が時々いて、これが文字化けするのである。
  中国の漢字を使っていたり、ミミズが張っているような記号のような文字とか
  Unicodeの範囲じゃないと表せない文字は、化け化けになってしまうので、これが
  使わなくなった大きな理由である。いちいち手で修正を加えていたら意味ないじゃん。

  で、直接CSVファイルに落としてしまおうと考えたのである。