Phaser.js 覚書
Phaserはそのままで使うと画像などに対してcross-originが発生するので、bracketsのライブプレビューを使うなどしてサーバーを介して表示させる。

祝日 / Permanent Vacation
let's talk about Bridgerton tea, my ask is open
Keni
Stranger Things
occasionally subtle

Discoholic 🪩
Show & Tell
DEAR READER

JBB: An Artblog!
dirt enthusiast
No title available
Cosimo Galluzzi
styofa doing anything
almost home
Peter Solarz

★
Xuebing Du
RMH
YOU ARE THE REASON
Lint Roller? I Barely Know Her

seen from Canada

seen from Germany

seen from Singapore
seen from United States
seen from United States
seen from United States

seen from Russia
seen from United States

seen from United States
seen from Brazil
seen from United States
seen from Colombia
seen from United Kingdom
seen from Brazil

seen from Brazil

seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
@boxocan
Phaser.js 覚書
Phaserはそのままで使うと画像などに対してcross-originが発生するので、bracketsのライブプレビューを使うなどしてサーバーを介して表示させる。
複雑なjsonをpostでpythonへ送る
postメソッドは、例えば
var foo = { data : [ { "foo" : "bar" } ] }
というオブジェクトを、 data[0][foo]=bar と理解してしまう。 (つまり、barにアクセスするのに["data[0][foo]"]というキーが必要)
オブジェクトの構造をpythonでも利用したい場合は、 JSON.stringify()で全部stringにしてから { "data" : stringified } みたいのを送る。
python側で、fieldstorageで得た値の["data"]を json.loads()して、オブジェクト化する。
--js-- data = {"data" : JSON.stringify(foo)}; $.post('script path', data, func);
--python-- data = cgi.FieldStorage() obj = json.loads(data["data"].value)
本来$.postではmapオブジェクトを渡さないといけないが、 こうすれば配列も直接送信することができる。
pythonで配列の日本語をそのまま表示する
普通だとユニコードになってしまう。
str(配列).decode("unicode-escape")
pythonでtwitter
import twitter dic=[ consumerKey= , consumerSecret= , accessToken= , accessSecret= ] api=twitter.Api(dic) tweetArr=api.getUserTimeline('username',count=100) print tweetArr[0].text
python-twitterをインストールして使う。
コマンドコンソールで一時的にパスを通す
PATH パス
既存のパスに付け加えたいときは
PATH %PATH%;パス
jQuery(ajax)でDOM要素の置き換え
var ajaxtest=function(){ $.ajax({ type:'POST', url:'about.html', dataType: 'html' }).done(function(data){ $("#contents").empty(); $("#contents").prepend(data); }).fail(function(data){}).always(function(data){}); }
jQuery.ajax()のまとめ: 小粋空間 jqueryでhtmlの書き換えを行う方法 jQueryでDOM要素の削除 - 星屑日記
IndexedDB
HTML5のオフラインストレージのひとつ。DB.jsを使うと簡単。 tideSDKでは(14年4月9日現在)使えないので注意!
var dbTest=function(){ db.open({ server: 'sample', version: 1, schema:{ people:{ key:{keyPath: 'id',autoIncrement: true}, indexes:{ firstName:{} } } } }).done(function(s){ s.people.add({ firstName:'Yusuke', lastName:'NAKA', }).done(function(item){ console.log(item); }); }); }
とりあえずこれでChromeでは動く。 serverはこのDBの名前?
HTML5 - Indexed Database API UXClip(36):“オフラインファースト”を実現する、ストレージ系APIライブラリ10選 (3/3) - @IT db.js by Aaron Powell
ページ遷移なしで戻る・進む
pushstate / popstateを使う。
$(document).ready(function(){ if(window.history&&window.history.pushState){ $("#menubar a").click(function(e){ e.preventDefault(); var url=$(this).attr("href"); var state=$(this).attr("id"); $(this).hide(); window.history.replaceState(state); window.history.pushState(state,'',url); }); $(window).on('popstate',function(e){ if(!e.originalEvent.state)return; var state=e.originalEvent.state; $("#"+state).show(); }); } });
preventDefault()はデフォルトの動作を消去する。 これでリンクを押してもページが変わらないようにする。
pushStateを使うことでブラウザのURLを変えることが出来る。 一緒にstateっていう値を渡すことも出来る。 ただ、リンクを押した先のページにステートが記録されるので replaceStateを用いて現在のステートを置き換えている。 これでリンクを押す→戻るで、期待通りの動作をする。
popstateは戻るや進むを押すと呼ばれる。どちらでも呼ばれる。 ifの行は、初回読み込み時にstate=nullでpopstateが呼ばれるやつの対応。 ステートには、e.originalEvent.stateでアクセスする。
tideSDKでファイル保存
var file=Ti.Filesystem.getFile(Ti.Filesystem.getResourcesDirectory(),'file.txt'); file.write('brabra');
オープン・クローズはFileStreamに対してする。 この場合必要ない?
Pythonのいろは
.pyファイル モジュールと呼ばれる。
import module as mod #moduleをmodとして読み込む class Hoge(): def __init__(self): #コンストラクタ self.a=0 #インスタンス変数 def otherFunction(self): #インスタンスメソッドにselfは必須 for i in range(list_size()): #0~list_size()まで pass #省略の意 if __name__=='__main__': #メイン関数の代わり function() #関数は呼び出し以前に定義しておくこと
PythonでGUIでテキスト表示
import tkinter.scrolledtext textarea=tkinter.scrolledtxt.ScrolledText() textarea.insert('end', "write here") textarea.pack() textarea.mainloop()
'end'はテキストエリアの末尾に挿入の意
PythonでCaboChaを使う(Win)
Mecabをインストールする(UTF-8)
CaboChaをインストールする(UTF-8)
CaboChaのバイナリを落とす
Pythonディレクトリでpython setup.py installを実行する。エラーが出たときは必要に応じてファイルを書き換える。
CaboChaのパスを通す
eclipseでPythonのHello World
Pythonをインストールする。
eclipseの新規ソフトウェアのインストールで http://pydev.org/updates からPyDev(Eclipse PyDev)をインストールする。
eclipseに再起動を促されるので、再起動したらPyDevのパースペクティブを開く。
設定/PyDev/インタープリタ-Python で、新規からpython.exeを選択し追加する。名前はPython**(ver名)がいいかも。
プロジェクト:PyDevプロジェクトを作る
srcフォルダを追加、PyDevモジュールを追加。print("hello world")
実行。フォントはテキストエディタのフォント。