Wednesday, July 14, 2010

ペルソナ3影時間時計Flash版(DarknessTimeClock)を公開

前回、SVG と Javascript でザックリと作成した正式名称不明な「影時間に移行するときに現れる時計」の再現の Flash 版とケータイ待受(Flash Lite 1.1)版を作成しましたので公開します。

PC向け

ケータイ向け

ケータイ向けには、下のQRコードでアクセスください。

さて、次は Android アプリでしょうか?

Saturday, November 07, 2009

【P3P発売記念】ペルソナ3影時間の時計を再現


 『ペルソナ3』及び『ペルソナ3ポータブル』劇中での「影時間に移行するときに現れる時計」を Web アプリとして再現してみました。
 劇中ではタルタロスに行く2~3秒しか表示されないビジュアルですが、非常に印象的でアプリで探していたのですが、なかったので自作しました。
 機能としては、通常のアナログ時計の機能のみです。


http://red-one.appspot.com/kagejikan_clock.svg


 ブラウザ上から上記 URL にアクセスするか、下記コードを利用してください。
<iframe src="http://red-one.appspot.com/kagejikan_clock.svg" />

動作について

 実装は、SVG + Javascript です。SVG は Illustrator で作成し、Javascript は手打ちで対応しました。
 動作確認は Firefox, Chrome で行いました。
 不具合等ありましたら連絡ください。

Monday, July 20, 2009

アイコン・セット - Gray_Panel


個人用に作成したアイコンに+αして公開します。
サイズは今のところ、32x32pxのみ。
需要があれば、他サイズや、更に+αなどして順次公開していこうかと考えます。

以下から、閲覧及びダウンロード可能です。
Created by Akanasu (@live.jp)
ライセンスは一応、Creative Commonsに準ずるものとしますが、特に規定は定めません。個人の判断でダウンロードしてください。

Adobe Illustratorで作成しました。
Illustrator用の.aiファイルも以下に置きます。
色調整、サイズの調整などにお使いください。


ご意見・ご感想をお聞かせください。

Thursday, June 05, 2008

Processing Works#2 Cherry Blos.

Processing.js 作品.
マウスイベントとJavascriptを使用した作品です.
マウスで線を描いてください.

Cherry Blos.


size(400, 400);
int cnt=0; //Counter
float trs(float s) {
return 3.5*sqrt(s);
}
boolean fnc(float s, float r) {
if (s<5) {
return s+5 > r;
}
return s*s*4/75+26/3 > r;
}
void setup() {
background(230);
strokeWeight(35);
stroke(180, 120, 0, 80);
}
void mousePressed() {
point(mouseX, mouseY);
}
void mouseDragged() {
int dx=pmouseX-mouseX, dy=pmouseY-mouseY;
float s=sqrt(dx*dx+dy*dy);
s=trs(s);
strokeWeight(35-s)
line(pmouseX, pmouseY, mouseX, mouseY);

float r=random(3,35);
if (fnc(s, r)) {
noStroke();
fill(240, 180, 180, 180);
ellipse(pmouseX+40-random(80), pmouseY+40-random(80), r, r);
}
}
var btn=document.getElementById('button-09-clear');
if (btn) { btn.onclick=function () {setup();} }

Sunday, June 01, 2008

Processing.js で1週間遊んでみた: Processing Works#1

情報元:

Processing.js がすごいのか Canvas タグがすごいのか,とりあえず遊んでみた.

random dot

int max=100;
Particle prt = new Particle[max];
size(200, 200);
frameRate(5);
int cnt, st;
void setup() {
cnt=0;
st =0;
background(0);
noStroke();
prt[cnt] = new Particle();
prt[cnt].paint();
}
void draw() {
background(0);
if (cnt < max) {
cnt++;
prt[cnt] = new Particle();
} else if (st < prt.length) {
prt[st].reset();
st++;
} else {
st=0;
}
for (int i=st; i<cnt; i++) {
prt[i].paint();
}
for (int i=0; i<st; i++) {
prt[i].paint();
}
}
class Particle {
int x, y;
int c;
float dev;
float al;
float r;
Particle() {
dev=0.9;
this.reset();
}
void reset() {
al=100;
x=(int)random(width);
y=(int)random(height);
c=(int)random(255);
r=random(5, 60);
}
void paint() {
if (8<al) {
al-=dev;
}
fill(c, 255, 255, al);
ellipse(x, y, r, r);
}
}

イベント関係

 マウス位置の取得にはスクロール位置が考慮されていないので,修正する必要がある.
 ソースコードを読むと Canvas 上のマウス位置の取得には,event.clientX(or clientY)[element].offsetLeft(or offsetTop)が使われているのだけれど,clientX は表示領域の XY 座標,offsetLeft は body のトップからの位置座標になるためスクロール量を別途加算します.
   p.mouseX += window.scrollX || document.body.scrollLeft || document.documentElement.scrollLeft;
p.mouseY += window.scrollY || document.body.scrollTop || document.documentElement.scrollTop;
processing.jsファイルの1612行の次から上記2行を追加しよう. ただし,スタイルシートでbody {margin:0; padding:0;}のように指定しないと IE6 で座標がずれてしまうことを確認したので注意.

Ball Shower, Dark - Stained Glassic -

size(200, 200);
//背景
background(120);
//noStroke();
strokeWeight(1);
stroke(0, 200);
for (int i=0; i<80; i++) {
int r = random(5, 60), c = random(255);
fill(random(255), 255, c, 100);
ellipse(random(width), height-(c/255)*height, r, r);
}
strokeWeight(1);
for (int i=0; i<height; i++) {
stroke(0, 255*i/height);
line(0, i, width, i);
}

描画関係

  • テキスト表示は Fx.3 より対応.
    Firefox は一応1.5から Canvas タグに対応とされていますが,Fx.1.5 ではイベント関係からなのか正常に動作しないスクリプトもあります.
  • 現在,ellipse(円・楕円描画)には,楕円の幅と高さを指定できるのだが,幅と高さが同値でないと図形が描画されない.
    つまり,円しか描画できない
  • あと,IEでは円に枠線(stroke)を指定しても枠線は描画されない.
  • 円弧(arc)の枠線に余計な線が付加される.

Ball Shower, Dark

size(200, 200);
//背景
background(120);
noStroke();
for (int i=0; i<80; i++) {
int r = random(5, 60), c = random(255);
fill(random(255), 255, c, 100);
ellipse(random(width), height-(c/255)*height, r, r);
}
strokeWeight(1);
for (int i=0; i<height; i++) {
stroke(0, 255*i/height);
line(0, i, width, i);
}

不満点

  • グラデーションがない.地味にピクセルやラインで色を変えて描く方法しかない
  • 切抜き,トリミング,描画範囲のマスク掛けなどがほしい
 最低でもこの2点がサポートされなければ,グラフィックアートを作るのは難しい…….

Rays Mix


size(200, 200);
//背景
background(120);
strokeWeight(1);
for (int i=0; i<height; i++) {
stroke(0, 255*i/height);
line(0, i, width, i);
}
CRay rays = new CRay[20];
for (int i=0; i<rays.length; i++) {
rays[i] = new CRay(i);
rays[i].paint();
}
class CRay {
int a;
int x0, y0, x1, y1;
int r;
int idx;
CRay(int _i) {
idx = _i;
a = (int)random(6);
r = random(1, 3);
strokeWeight(r);
switch (a) {
case 0:
x0=0;y0=random(height); x1=random(width);y1=0;break;
case 1:
x0=0;y0=random(height); x1=width;y1=random(height);break;
case 2:
x0=0;y0=random(height); x1=random(width);y1=height;break;
case 3:
x0=random(width);y0=0; x1=width;y1=random(height);break;
case 4:
x0=random(width);y0=0; x1=random(width);y1=height;break;
case 5:
x0=width;y0=random(height); x1=random(width);y1=height;break;
}
}
void paint() {
stroke(255, idx*5+50);
line(x0, y0, x1, y1);
}
}

補足・注意

 グラデーション描画は Canvas タグではサポートされているので,Canvas のデバイスコンテキストを取得するか,Processing.js を自分でいじるかすれば可能です. けど,これって反則気味?

Saturday, March 29, 2008

CTX - Screen Shot: スクリーンショット

右クリックメニュー(コンテキストメニュー)にタブ関連の項目を追加する Firefox 拡張機能 CTX スクリーンショット


インストールすると右クリックメニューに「タブを閉じる」「右タブに移動」「他のタブを閉じる」「Firefox を再起動」が追加されます.


設定から表示する項目を選択可能です.

Wednesday, March 26, 2008

右クリックメニューにタブ関連の項目を追加する Firefox アドオン Context Tab Access Menus 0.1 Released

 HTML エリアの右クリックメニュー(コンテキストメニュー)に『タブを閉じる』『右タブに移動』などの項目を追加する Firefox Extension(拡張機能).

 Firefox ブラウザにはタブブラウジングの様々なショートカットキーが用意されていますが,マウスのみで操作するときにはコンテキストメニューから色々操作できた方がいいと思い拡張機能 Context Tab Access Menus (CTX) を作りました.
 個人的にはマウスジェスチャよりも,分かりやすい,簡単,確実,初心者向けと考えています.

# 自分はマウスジェスチャ好きではないので.
# ネーミングセンス0です.

ダウンロード

 ダウンロードページは下記 URL から.

 現在,Firefox Add-ons アカウントをお持ちの方のみのダウンロードとなっています.
 テストユーザ,レヴュー記事を書いてくださる方を募集しています.

Firefox をダウンロード
 

開発版ダウンロード
 開発版は以下から.

 アカウントをお持ちでない方はこちらから最新版をダウンロードしてください. ヴァージョンは同一のものとなっております.

ver. 0.1 で実装されている機能

    メニュー項目
  • タブを閉じる
  • ウィンドウを閉じる
  • 右タブに移動
  • 左タブに移動
  • 右タブを閉じる
  • 左タブを閉じる
  • 右タブを閉じる
  • 他のタブをすべて閉じる
  • Firefox を再起動

    その他
  • 上記メニュー項目毎の表示・非表示の設定(ツール<アドオン の「設定」から)
  • テキスト選択中のメニュー項目の非表示
  • テキストエリア上でのメニュー項目の非表示
  • 複数タブが開けれているときのみタブ関連の項目の表示

ロケール

 以下の2種類のロケールを用意しております
  • en-US(英語)
  • ja-JP(日本語)

# 無償で英語の添削をしてくれる方, 他言語に精通している方募集中!


今後考えている実装

 ただし,今後も開発を進めていくかは…….
    メニュー項目
  • 最近閉じたタブ(サブメニューに表示)
  • 一つ前のタブに戻る
  • 直前に開いたタブに移動
  • 直前に開いたタブを閉じる

    その他
  • 追加機能丸ごとサブメニュー化(設定で切替え)
  • 他拡張機能の利用
  • ユーザが自由に項目を追加・削除できるようにする?(そういうの別にあったような……)

開発方針

 基本的に機能をゴリゴリ付け加えるのではなく,標準で用意されている関数などにアクセスするメニューを追加する.
 従って,Fx2.0 から追加された「最近閉じたタブ」メニューを追加する場合,それまでのヴァージョンには非対応になると思います.

 ソースは公開です. 上記 URL からダウンロードしたファイル(.xpi:ZIPファイルの拡張子を変更したもの)を解凍してください.
 技術情報は追って当ブログで公開していきます. - フィード

リファレンス

 開発に当たり大半のスクリプトは以下の情報を参考に致しました.
 というか,軽量マウスジェスチャのスクリプトを全て移植すればよかっただけのハナシ

Thursday, January 17, 2008

COLORd Leaf : 名前を色に変換!

名前→色変換してくれるだけのシンプルな Web アプリです.

Link: http://akanasu.googlepages.com/name2color.html

これは何?

 入力された文字列(単語,名前,地名,…)に対する色の RGB 値を表示します.
 RGB 値への変換は独自の変換規則に基づいて文字コード(列)を色情報に変換するものです.

使い方

 名前を入力して『変換!』ボタンを押してください.
 誰にも分からなかった自分の色が分かります.

 名前の他にも,思いついた単語を2,3語入力してみてください. よく使う単語の意外な色を楽しみましょう.

注意

  • 名前は40文字まで
  • アルファベットの大文字・小文字は区別されません
  • 半角/全角スペースは省略されます
  • 名前等の入力された情報の公開,及び第三者への送信はされません
  • このアプリケーションは私個人がこのブログ上で公開するために作ったものです
  • 意見や指摘事項などございましたら ココにコメント してください

動作環境

  • Windows XP 上のIE6-7, Firefox1.5-2.0, Opera9.0, Safari3.0 で動作確認しております
  • JavaScript オン / CSS オンの環境でご利用ください



後記

■ 2008年初投稿となりました. ネタ自体は一ヶ月ほど前から作っていたものです.
 恐ろしいほどの遅筆ですが,本年もよろしくお願いします.

■ 『脳内メーカー』とか『ハートメーカー』などに触発されて,名前を色にしてくれるのってなかったな~と 100% 思いつきで作ってしまいました.
今は,勢い 30%・後悔 60%・不明 10% という感じ.

■ 中身は Javascript + CSS のみです. 変換アルゴリズムなども特別なことはしていません. ソースを見れば全てがわかります(多分).
 アルゴリズムは今後変わるかも??

■ 最近作られた色なども一覧表示できるようにしようとも思ったけど,そこまで作り込めずにいる.
 似ている色(単語)の表示とかもしたいな~と思ったり.
やっぱある程度凝ったものを作るとすると,サーバサイドの作り込みも必要. ZOHO API とか上手く利用できないかな~?

Template Design. 2008 Jyun.