プリキュア
最近MXでハートキャッチプリキュアをやっていることに気が付いてみているのだけれど、スイートプリキュアとの差異というか、俺はハートキャッチ以前を知らないからよくわからないのだけれど、ハートキャッチは良くできていたのだなぁと感じた。
スイートの人物を区別するとすると、こんな感じになると思う。響:スポーツが得意、カップケーキが好き、勉強は苦手(? 奏:にくきゅうがすき、料理が得意、スポーツは苦手(? エレン:なんだっけなーお化けが怖いんだっけ?あとやどかりとか、で、まあそんな感じなんだわ。んでスイートを総括してもいいんだけれど、まあハートキャッチいくと。
つぼみ:内向的、語尾がですで常に敬語。 えりか:社交的だが、姉に嫉妬 いつき:優等生 ゆり:お姉さん。
とまあ、キャラクタの作り方が違う。ハートキャッチはキャラクタそもそもをずらしているのに対して、スイートは根本は大体おんなじ(おこりっぽいだとか、いざというときに頼りになるとか、そこが友達らしさなのかな)で、趣味が違うという程度、好き嫌いの対象が違う程度で、キャラクタの根本はあまり変わりが無い。とまで言うといいすぎるけれど、響と奏ってそんなにキャラクタに差異が無いんだよね、つぼみとエリカの差が無い。エレンも一緒でちょっと照れ屋であるけれど、人としての本質は同じなんだよね、コンプレックスが無いともいうのかもしれないけれど、キャラクタがひとつしか感じられない。ずらし方があまり上手く無い感じがする。
でまあ、キャラクタについてはそんな感じで、書き分けがうまくいってなくね?って思う程度で、それはスイートのほうがあれかなあってそうなんだけれど、ハートキャッチみていて、これは上手いなあと思うのが、心の花が萎れないとデザトリアンにはならないんだよね。ということは必然的に、ある人物の心の花が萎れるというイベントが発生しなければならなくて、それは心の花が萎れる=悲しいネガティブなことが発生するであり、ネガティブが発生するためには希望または喜びの維持、憶測などがあって、必然的に物語に起承転結が含まれてくる。誰かがおり、誰かは何かを欲しているのだけれど、何がしかの理由によって、その希望に障害があり、デザトリアンとなる。プリキュアがデザトリアンを倒すときに、障害を克服するためのヒントのようなことを言う。そして回復ないし帰還、帰宅となるわけで、ストーリーとしてよくならざるを得ない状況に持っていっているんだなあ最初の設定でと思った。
一方スイートはというと、これはもう音符があればどこでもいいわけで、脚本としては楽なんだろうけれど、やはり浅くなってしまうんではないかと思うわけで、だから何がいいたいかというと、でも奏ちゃんのが可愛いかな
ノーリアクションについて
俺の中学校は、2つの小学校から成り立っていて、そんで俺が中学生に始めてなったとき、俺のじゃないほうの小学校からあがってきたやつらが、ある女をすげー嫌っていて、男も、女も、そんでなんでって聞いたら、あいつきもいじゃんっつってて、別にそーでもねーけれどなーと思っていて、まあ何にもおれは触れなかったんだけれど、その子は中学1年のとき一緒のクラスだったけれど、たぶん一言も喋ったの聞いたことないし、誰とも話していなくてずっと一人で、いつも同じ顔だったし、なんだったら小学生のころから、中学生3年間ずっとそうだったんじゃないかと思う。
で、俺なんだけれど、仕事んときほとんど笑ったりとか、なんか面倒でそういうの、雑談とかしたくないし仲良くなりたいとかもあんまりなくて、無表情きわまりないんだけれど、これが結構なんというか反発を買う。えらいさんとかから多い、それも直接的なやつじゃなくて、よくない噂を流されたりだとか、あとはまあ思いつかないんだけれど、そうなんだわ。いやあるけれど、もういいわ。あるんだわ。
で、こないだ読んだ本で、あの無表情っていうのは、攻撃されやすいんだって、それは大人しいから反撃されないとかじゃなくて、無表情っていうのは、何者か解らない理解できないから、怖いんだって、だから攻撃して感情を引き出したりするのかな。いじめとか、最初のトリガーとなるのは、そういうところからなんだってって聞いて、そんで昔の何故か嫌われていた子を思い出した。
WebViewが反応しない
Android 2.1でWebViewが反応しないときがある。
ので、以下参照したんだけれど、
http://d.hatena.ne.jp/yitabashi0913/20110501/p1
WebViewをレイアウトで使っていないせいか、ぜんぜんなおんね。
てかAndroid1.6だといきなり落ちるし。
で、割と(?解決。
このクラスを追加する。
中身としては、レイアウトパラム引っ張ってきて、高さを変えているようで変えていないんだけれど、大事なのはhightを変えること?なのかよく解らないんだけれど、他のところでhightを変えても駄目だったんだけれど、ここだと上手く動作した。よくわかんね
public class WebViewDrawListener implements PictureListener{ @Override public void onNewPicture(WebView webview, Picture picture) { LayoutParams param = webview.getLayoutParams(); param.height=(int) (picture.getHeight() * webview.getScale()) ; webview.setLayoutParams(param); webview.setVerticalScrollbarOverlay(true); } }
んで、WebViewのListenerにクラスをあれする
webView.setPictureListener(new WebViewDrawListener());
結局、heightを変更するのが対応法なんだろうけれど、単純にレイアウトパラム引っ張ってきて変えてセットするだけだと、なんか駄目っぽくて、まあしらね動いたからいいや。
1.6は落ちる。仕様です。
マルチスレッドでUIいじったら駄目だってこと
えーそれで、マルチスレッドでUIいじったら駄目(Only the original thread that created a view hierarchy can touch its views.)とか言われて、要は何かつうと、スレッドの中からUIいじっちゃ駄目らしいのでHandlerってのを使うらしいです。
こういうのは駄目だった気がする
new Thread( public void run() { LayoutParams param = new ViewGroup.getLeayoutParams(50.50); mView.setLayoutParams(param); } }).start();
で
private final Handler handler=new Handler(); (new Thread(){ public void run() { handler.post(new Runnable(){ public void run() { LayoutParams param = new ViewGroup.getLeayoutParams(50.50); mView.setLayoutParams(param); } }); } }).start();
たぶんこんな感じで動いたんだけれど、動いていないんだけれど、
setLayoutParamsをHandlerの中でやりたいんだけれど、そもそも、Handler中とか関係無しに、LayoutにaddViewしたあととか、setContentViewした後ってsetLayoutParams出来ないんだっけぇ??
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
ってのが出る、1.6だとでる。それ以外は面倒だから調べていない。
んで解った。
(new Thread(){ public void run() { handler.post(new Runnable(){ public void run() { //LayoutParams param = new ViewGroup.getLeayoutParams(50.50); LayoutParams param = mView.getLayoutParams(); mView.setLayoutParams(param); } }); } }).start();
で、動いた。使っているのはLinearLayoutなんだけれど、LinearLayoutはViewGroupを継承しているから、いけると思ったんだkれど駄目だった。素直にViewからLayoutParamsを取得してパラメタ設定するのがいいと思う
WebViewのjavaScriptで作ったタグ
何がいけないのか解らないけれども、WebViewに表示するHTMLにjavascriptでiframeとその子供にcreateElementでアンカータグ追加してhref指定してiframeで表示すると、WebViewClientの
public boolean shouldOverrideUrlLoading(WebView view, String url)
が呼び出されない。
public void doUpdateVisitedHistory (WebView view, String url, boolean isReload)
これで一応ハンドリングできるんだけれども、hrefに指定されたURLに強制的に画面遷移してしまう。鬱陶しい