メモの最近のブログ記事

わたしは、iPhoneの純正カレンダーアプリでGoogleカレンダーを見れるようにしてるのだけど、Googleカレンダーで最近追加したカレンダーが一覧に出てこなくて困ってたのね。

んでGoogle先生にきいてみたら、Google Syncっていうのを使うらしいことがわかった、っていうか、iPhone手に入れた直後の頃に一度やってたのだけど、全く覚えてなかった。てへ☆

ちなみにGoogle Syncはここ。
https://m.google.com/sync/
ここに、iPhoneのSafariでアクセスして、言われた通りにすればいいみたい。

日本語に対応してないようで、言語切り替えをしないと、非対応のブラウザだよ、って言われてムキーってなるので注意。

ところで今回はBlogPressっていうiPhoneアプリから投稿してみました。

かなり以前に手に入れてたんだけど、いまいち使いにくくて放置してた。
バージョンアップしてどう変わったのかな?と思ってやってみたテストだよ。

使いやすくなってる気がするけど、記事入力周りに不具合があるような。

昔、クスールで習った時のメモ書きのコピペを晒す。
意味わかんないなどの苦情は受け付けません。メモなので。

オブジェクト指向の必要性について。

  • 共同開発ができる
  • 使い回しができる

「クラス」とはなんぞ

例えば、as1で1フレ目にコードを書いた場合

  • 仕様変更に弱い(書き換え箇所が多い)
  • 使い回しがしにくい

これらをやりやすくするのがクラス

オブジェクト指向プログラミングとは、
これまで「順序」で考えていたプログラミングを、「物」を主体に考えていく書き方のこと。

構成としては...
物┬動作
 └性質

ここでいう「物」を「クラス」で作る

クラスファイルは拡張子.as
文字コードはUTF-8であること。

動作:メソッド(as1でいうところのファンクション)
性質:プロパティ(as1でいうところの変数)
   コンストラクタ(つまり初期化)

※クラスを使う時の概念は、
ライブラリからMCをステージに配置する概念と同じ。

XcodeでActionScript

user-pic
0

こんばんは。
ActionScript書くなら、FlashDevelopが鉄板なわけですが、Macユーザーなコードの書き手だったら、Xcodeも使えた方が、後々お得かも。という気がしたので、試しにちょっとXcodeでの開発環境を整えてみました。

Xcodeっていうのは、Macを買ったら必ずついてくる、総合開発環境(IDE)とゆーやつです。最初からインストールされているものではなく、付属のCD(DVD?)から追加インストールします。

Xcodeには、標準でActionScriptのテンプレートがついていないのですが、それを自作して公開してくださったかたがいらっしゃいます。↓こちらです。

Xcode用のActionScript 3.0テンプレートを作った - シン石丸の電脳芸事ニッキ

ありがたや、ありがたや。

しかしこちらの記事、少々古くてですね、最近のXcodeだとインストールするディレクトリが違ってたりします。

私の環境に入ってるXcodeのバージョンは3なのですが...Project Templatesディレクトリは、

/Developer/Library/Xcode/Project Templates

になります。

Flex SDKの設定は、どこでやるのかわからなかったので、ひとまず言われた通りのディレクトリ(/Developer/SDKs/Flex)にFlex SDKをコピれば、普通にビルドできるようになる。

コードのオートコンプリートについての情報は、上記からだとNotFoundになってたので調べ直したら、こちらからダウンロードしたファイルを「/Developer/Library/Xcode/Specifications/」にコピーすればいいらしかった。

オートコンプリートってか、カラーリングじゃね?と思った。

既に作成されたプロジェクトには適用されないようだった。

以上備忘録。

iPhotoに登録している写真のサムネイルが、一部おかしいぞ?変だ!
一部の写真のサムネイルが、全く関係のない写真になってしまっていて、コリャ困ったなぁ、と思っていたのですが、「教えて!Google先生」したら、解決法を発見。

  1. iPhotoが起動していたら終了する
  2. iPhoto Libraryの場所を確認(デフォルトでは、ホーム>ピクチャ)
  3. iPhoto Libraryを右クリックして、パッケージの内容を表示。
  4. Thumbで始まる3つのファイルを、ゴミ箱に入れる。
  5. iPhotoを起動する

と、「サムネールキャッシュを再構築中...」と出て、これが終了すれば正しいサムネイルになります。

以上備忘録。

会社ではDELLのノートPCにディスプレイやらキーボードやらを繋いで使っているんですが、入社時に、使いたい周辺機器(マウスとか)があれば言ってください用意します!と言われたので、自宅のぱちょこん環境と近くしたーい、と思ってKensingtonトラックボールを会社でも使ってるんですよ。

で、なんだかわたしのPC、トラックパッドが使えないんだよねー、とかずっと思っていたんですけど、最近になってやっと、Kensington MouseWorks(トラックボールのドライバ)が原因であることがわかったのです。遅!!

どうやら、MouseWorksをインストールすると、それまでデフォルトで入ってたトラックパッドドライバが上書きされちゃうみたいで。

試行錯誤してみたところ...

1)デルのサイトからトラックパッドドライバのインストーラをゲットしておく
2)MouseWorksをインストールする
3)トラックパッドドライバをインストールする

で、上手くいきました。

最初にインストーラをゲットしておくのは、なぜだか知らないけどMouseWorksがインストールされてると、トラックパッドドライバのインストーラがダウンロードできないからなのでした。

もしかしたら、MouseWorksのインストール時にトラックボールを挿した状態にしておけば↑こんな手順踏まなくても問題なかったかもしれないんだけど、今さらそれを検証するのはすごく面倒なので、謎のままにしておく!

以上今日もそんな自分用メモ。

ボタンインスタンスにクリックとかイベントを登録するじゃないですか。(唐突に)

イベントハンドラでイベントを受け取って、event.targetとかでボタンのプロパティを抽出したりするじゃないですか。

ボタンインスタンスに別のインスタンスが入れ子になってると、その子インスタンスがtargetになるらしい。だからボタンインスタンス自身のプロパティが欲しい時は、event.target.parentとしないといけない。

知らなかったけどこれって結構知られてる話でした???
不勉強ですみません。

実は半年前ぐらいに、あれーなんかparentしないと上手くいかない時があるゃぁとか思ってたんですが、原因がはっきりしたのでメモしただよ。

Progressionで、CastSpriteクラスを使って、テキストを渡して表示するだけのクラスを作ろうとしたんですよ。そしたらうまくいかない。

テキスト流し込んだTextFIeldをaddChildしてるのに表示されないんです。んでプロパティをチェックしたら、インスタンスのwidth,heightが共に0。addChildした(はずの)TextFieldのwidth,heightはちゃんとしてた。ってことは、addChildの辺りで何か問題が起きてるのか?それともフォントの埋め込みが問題なのかな?

よくわからないけど、CastSpriteをやめてただのSpriteにしたら全く問題なかったです。

§

で、そのフォント埋め込みなんですが、flaファイル上で作ったTextFieldにembedFonts=trueでhtmlTextを設定した場合、<font face='hoge' size='14'></font>でテキストを囲まないとフォントが埋め込まれないけど、TextFieldを最初からas3でnewしてあげるとfontタグが不要に。

んーふっ

§

で、前にも同じことがあったけど改めてメモなんだけど。

ProgressionでAddChildAtコマンドを使うときは、AddChildと混在させずにAddChildAtで統一しないと、配置するものの重なり順が思い通りになってくれません。

以上、そんなメモ書き。

TextField。

って、AS内でnewした時は、プロパティをwidth→wordWrap→autoSizeの順で設定してあげないと、狙い通りの挙動をしてくれない、ってのはなんとなく知ってたんですよ。

ProgressionのSerialList内でPropコマンドを使って順に設定しても、思ったように動いてくれなくてプチハマりました。

コマンドリスト内ではなく普通に1個ずつプロパティ設定してやったら大丈夫でした。

改行なしの右側可変TextFieldを作りたい場合。

var _tf:TextField=new TextField();
var sList:SerialList=new SerialList();
sList.addCommand(null
,new Prop(_tf,{width:10})
,new Prop(_tf,{wordWrap:false})
,new Prop(_tf,{autoSize:TextFieldAutoSize.LEFT})
,new Prop(_tf,{text:'ほげほげ'})
〜中略〜
);
sList.execute();

↑これだとTextFieldのサイズはデフォルトの100x100のままだった。

var _tf:TextField=new TextField();
_tf.width=10;
_tf.wordWrap=false;
_tf.autoSize=TextFieldAutoSize.LEFT;
_tf.text='ほげほげ';
〜以下略〜

普通にこうしてあげれば、あとはコマンドで色々やっても大丈夫でした。

Progressionを猛烈に勉強しながら手探り開発とゆー、ちょっとあぶなっかしい順加です。

忘れないうちにメモなんですが、 CastImageLoaderクラスを使って読み込んだ画像をリサイズしようとしても元のサイズのままということがあり、ハマりました。

flabakaさんとか参考にしたんですけどね。

ratioをtrueにしてwidth,height設定しても反映されなくて、そもそも読み込んだイメージのプロパティをwidth,heightでは取得できなくて。
でもscaleX,scaleYでならリサイズできるとゆー...。

結局どうしたかというと、addChildしたあとに、getRectしてRectangleのプロパティからwidth,heightを取得、リサイズしたいscaleX,scaleYを割り出して設定...っという回りくどいことをしてようやくうまくいきましたorz

なんだったんでしょうね。

2コンと同じく、こちらもメンテ対象外に決定したので更新するよ。

ので、っていうか、なかなかリニューアル作業に入れないので、とりあえず更新停止を解除しようかと思ってるよ。

さて、ダイナミックテキストに埋め込みフォントを使うと、パブリッシュ時に凄い時間がかかりますよね。

そこで外部swfに埋め込んだフォントを利用する技を使ったりするじゃないですか。

が...!そこにちょっとした落とし穴があった。

外部swfのフォントを利用している時に、flaファイルでその読み込みフォントと同じ種類のフォントを使うとフォントが表示されなくなります。

静止テキストでもNGです。分解してテキストデータを残さなければ大丈夫。

今日作業してたら急に文字が表示されなくなったので焦っちゃいましたよ。一個ずつ手順を戻って確認したらソレでビックリした次第。

そんなasメモですた。

メモ: 月別アーカイブ

月別 アーカイブ

最近のコメント

(c)1999-2010 Junka
Powered by Movable Type Pro