ウェブセレクション様に掲載いただきました


iPhoneで撮影した写真を投稿しているブログ「photo.adnaped.com」をWebデザインの参考になるサイトを集めたリンク集「ウェブセレクション」様に掲載いただきました!
ありがたやーありがたやー。

@AnywhereでTwitterフォローボタン設置


このブログのサイトバー「About」にあるように、@Anywhereを使ってTwitterのfollowボタンを設置しました。
実装方法は簡単です。

1. アプリケーション登録

まずは、@Anywhereのサイトからアプリケーション登録をする必要があります。
画面下部の「start using it now」というボタンから登録フォームへ移動します。
フォームの項目に関しては下記の通りで問題ないかと思います。

・Application Name : 適当に
・Application Website : 機能を利用したいサイトのURL
・お知らせ機能 : 入力しなくて大丈夫
・Callback URL : 「Application Website」に入力したものと同じURL

登録すると初期化スクリプトが表示されますので、コピーするなどしてメモしておきます。

2. HTMLにコードを追加して設置

次に設置するサイトのHTMLを修正します。
まずはhead内に下記コードを追加。

<script src="http://platform.twitter.com/anywhere.js?id=********************;v=1"></script>
<script type="text/javascript">
	twttr.anywhere(function(twitter) {
		twitter.hovercards();
		twitter('#followButton').followButton("yourID");
	});
</script>

初期化スクリプトに5行目を追加すれば大丈夫です。「yourID」にはご自身のTwitterユーザー名を入力してください。

続いて、フォローボタンを設置したい箇所に下記コードを追加します。

<div id="followButton"></div>

以上でTwitterのフォローボタンをサイトに実装することができます。

追記

アプリケーション登録のフォームのアクセス権限はRead & Writeにしなくてはなりませんが、デフォルトのアクセス権限はRead-onlyです。
Read & Writeに変更するのは下記から可能のようです。

http://twitter.com/apps

フォトログつくりました


iPhoneで撮った写真をペタペタと貼っていくブログ「photo.adnaped.com」をつくりました。
よろしければ一度ご覧になってくださいませ。

ActionScriptのクラス設計について

今回は自分が基本としているクラスというかプロジェクトの設計をまとめてみました。

クラス設計図
説明は上記の画像に書いてある通りですが、この中で分かり辛いのはVoクラスかと思います。
これはパブリックなプロパティだけを持っているクラスで、例えばフォトビューワーを作ってる場合なんかは……

package
{
	public class PhotoVo
	{
		public var thumb:String;
		public var image:String;
		public var caption:String;

		public function PhotoVo()
		{
		}

	}
}

このような感じで、1つの画像に使用するデータを一纏めにして格納しておくのに使ったりします。
ObjectとかArrayでも同じようにできるのですが、以前偉い人がこっちのほうが早いと言ってたので、それ以来ずっとこの手法を使っています。
個人的にはデータの出し入れもしやすいかなーと。

あとは、managerにはツールチップを管理するクラスとかを入れてたり、tweenには社内あるいは自家製のライブラリを入れたりしています。

以上、この記事をご覧になった方の参考になれば幸いです。

ActionScriptにおけるデザインパターンについて(singleton)

今日から定期的にデザインパターンについて書いていこうかなーと思います。
まずはデザインパターンの中でも使われる機会が多いsingletonパターンについて。

ウィキペディアでは「Singleton パターンを用いると、そのクラスのインスタンスが1つしか生成されないことを保証することができる。」と説明されています。
要は、model等多くのデータを扱うクラスはインスタンスを生成するだけで多くの負荷がかかってしまうので、アプリケーション全体で1つしかインスタンスを持てないようにするためのデザインパターンになります。

使用例は下記の通り。

package
{
	public class ApplicationModel
	{
		private static var _instance:ApplicationModel;

		public function ApplicationModel(singleton:ApplicationModelSingleton)
		{
		}

		public static function getInstance():ApplicationModel
		{
			if (_instance == null) _instance = new ApplicationModel(new ApplicationModelSingleton());
			return _instance;
		}
	}
}

class ApplicationModelSingleton {}

このように、プライベートなクラスである「ApplicationModelSingleton」をコンストラクタの引数に渡しているので、外部からはインスタンスを生成することができなくなっています。
後は、この「ApplicationModel」の中に色々なデータをぶちこんで、必要なときは「getInstance」メソッドでアクセスするようにすれば、余計な負荷はかからないし、管理も楽になるということですね。

About

Daisuke Endo 1980.11.01
東京でWebクリエイターやってます。Flashサイト構築、AIRアプリ制作、XHTML/CSSコーディングが得意分野。
  • twitter
  • mixi
  • last.fm
  • iddy