diary
HOME » スタッフブログ » developerのブログ

developerのブログ

[1]  <前  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19  次>  [21]

現在 101 件のスタッフ日記を掲載しています。

ゲームを作成する際に、illustratorやphotshopで作成されたデザインからPNGファ
イルを作成。

その画像を使ってゲームを作成する事があります。

この方法を使ってゲームを作るとたまに起こるのが
『ゲームが重くなる』

ファイルサイズのみならず、複雑な処理を行っている場合だとゲームの動きまで
影響してきます。

そんな時便利なのが
PNGGauntlet
http://benhollis.net/software/pnggauntlet/

PNGの画質を落とさずにファイルサイズを軽くしてくれるソフトです。

軽くする方法は
・画像ファイルに埋め込まれたコメントなど、画質とはそもそも関係のない箇所を取り除く
・カラーパレットを整理、圧縮方法を変更と画質に関係がある部分を最適化する
らしいです。

PNG画像を使ってFlashを作ったら重くなってしまった経験がある方は是非試して
もらいたいです。

http://labs.systemone.at/retrievr/

ちょっと昔からあるので知っている人も多いかと思いますが、
色と形からそれに似た画像をflickerか ら検索してくれる、
通称らくがき検索ですー。
コンセプトが面白いと個人的に思いますー
SandyのDistortImageをAS3版に移植したのを見つけたので、
ちょっと試してみました。(http://www.rubenswieringa.com/blog/distortimage)

動画の四隅の四角をドラッグすると動画の形が変わりますー。


↑デモ画面はこちらから
(※デモ画面を右クリックでソースが表示されますー)

FlexでHTMLを表示

2010年7月5日

Author : developer

FlexでHTMLを表示するのは困難なため、IFrameというのを使って
擬似的にFlash上にHTMLを表示しているように見せかけられます。
FlashとHTMLを連携したければ、ExternalInterfaceでどうにか誤魔化したり。

IFrameが何をやっているかというと、swfを表示しているHTMLに、
動的にDIVやIFRAMEを作成してflashより上にHTMLを表示しています。
なのでflash側でAlertやポップアップなどを表示しても、IFrameで表示しているHTMLが
最前面に表示されてしまいます。

IFrameを使い始めたころ、Alertやポップアップとの表示切替を、SystemManagerの
addedイベントを拾ってAlertやポップアップが表示されたらIFrameを非表示に
切り替えるようにしたのですが、よくよくIFrameのソースを見てみたら、
そんな変数が用意されていました。。

publicのoverlayDetectionという変数があるので、こいつをtrueにしてあげれば
Flexのコントロールと重なったときに勝手に非表示にしてくれます。

IFrameに関しては賛否両論あるみたいですけど、どうしてもHTMLを使う必要がある時には
なかなか便利です。

今更かもしれませんが、個人的に役に立つと思ったTipsです

たとえば、
mc1
mc2
mc3
というムービークリップがライブラリにあって、
ステージ上に呼び出す時は、

var _mc1:mc1 = new mc1();
Stage.addChild(_mc1);
var _mc2:mc2 = new mc2();
Stage.addChild(_mc2);
var _mc3:mc3 = new mc3();
Stage.addChild(_mc3);

ってな感じで書く必要があります。

ところで、
_idという変数(Number型)に
入った数値に対応するMovieClipを
呼び出したい時は_idを判定しして、
それに対応する処理を入れる必要がありました。
(_idには1~3の数値が入ると仮定します)

swich(_id)
{
  case 1:
      var _mc1:mc1 = new mc1();
      Stage.addChild(_mc1);
      break;
  case 2:
      var _mc2:mc2 = new mc2();
      Stage.addChild(_mc2);
      break;
  case 3:
      var _mc3:mc3 = new mc3();
      Stage.addChild(_mc3);
      break;
}

↑こんな感じで。。。
ところが、
getDefinitionByNameを使う事により、

import flash.utils.getDefinitionByName;

//文字列からクラスオブジェクトを取得
var _classobj:Object = getDefinitionByName("mc" + _id);
var _instanceobj = new _classobj();
Stage.addChild(_instanceobj);

こんな感じですっきり書けるのですー。
[1]  <前  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19  次>  [21]

calendar

ライター一覧

マリエッタのスタッフへ
読まれる記事を書きましょう。
読まれる記事を書いた人には
きっと社長からのご褒美がある。
はず。

神谷信吾 神谷信吾 投稿数:227
閲覧数:1174943
hiromi hiromi 投稿数:241
閲覧数:484764
developer developer 投稿数:101
閲覧数:262164
営業部 営業部 投稿数:35
閲覧数:82992
nunoko nunoko 投稿数:34
閲覧数:81072
risa risa 投稿数:15
閲覧数:42959
yukiko yukiko 投稿数:18
閲覧数:27063
ryu ryu 投稿数:10
閲覧数:25727
taisei taisei 投稿数:9
閲覧数:24623
総務部 総務部 投稿数:8
閲覧数:19028
mai mai 投稿数:11
閲覧数:15520
minako minako 投稿数:6
閲覧数:13579
takano takano 投稿数:2
閲覧数:5471
nozomi nozomi 投稿数:13
閲覧数:5306
koike koike 投稿数:2
閲覧数:5242
toyoda toyoda 投稿数:2
閲覧数:3839
non non 投稿数:1
閲覧数:3377
adachi adachi 投稿数:1
閲覧数:2806
mii mii 投稿数:11
閲覧数:2503
aoyagi aoyagi 投稿数:1
閲覧数:2486
りう りう 投稿数:1
閲覧数:2464
sachiko sachiko 投稿数:4
閲覧数:1563
yuka yuka 投稿数:1
閲覧数:210

site search