Progression Forum
9月 07, 2010, 12:24:52 午後 *
ようこそゲストさん。まずは、ログインするか、ユーザ登録してください。
アクティべーションメール送られて来ませんでしたか?

ユーザ名、パスワード、クッキー保持期間を入力してログインして下さい。
お知らせ:
 
   ホーム   ヘルプ 検索 ログイン 登録  
ページ: [1]
  印刷  
投稿者 スレッド: 背景画像をウインドウサイズに合わせ拡大縮小するには、、  (参照数 3621 回)
shinya
初心者
*
投稿: 8


プロフィールを見る
« 投稿日:: 2月 05, 2010, 02:42:58 午後 »

Progression(並びにas3)初心者です。

下記URLのように、ステージサイズに合わせ背景画像を拡大縮小させるにはどうすれば良いでしょうか??
http://hondakiyoshi.com/category/actionscript

詳しい方、何卒教えてください。
IP記録
northprint
管理人
常連メンバー
*****
投稿: 183



プロフィールを見る サイト
« 返信する #1 投稿日:: 2月 05, 2010, 03:42:35 午後 »

shinya 様

方法ですが、まさにリンク先に掲載されている方法をとれば可能だと思います。
強いて言えばstageがprogression.stageになるくらいでしょうか?ver4からはstageでいけます。

Progressionはあくまで構造と組みやすい方法や仕組みを提供してくれるだけのものですので、特にProgression用の書き方というのは無いと思います。

出来れば、リンク先の方法を試してみたのですがどこどこがわかりませんでしたというようにもっと掘り下げていただきたく存じます。
IP記録
kmxs
管理人
初心者
*****
投稿: 49



プロフィールを見る サイト
« 返信する #2 投稿日:: 2月 05, 2010, 03:54:26 午後 »

@shinya さん

flash サイトでリキッドレイアウトを実現するには、ActionScript でのリサイズイベントの他、html 側での知識も必要です。progression の場合は、はじめのプロジェクトの設定でやってくれるので助かりますが、原理は分かるに越したことはないと思います。
参考:http://alwaysfinetuning.com/ao-blog/2009/01/as3-3.html

ちなみに Progression の拡張機能で、cuegraphix.com さんの「LiquidLayout」というライブラリもあります。
チェックしてみてください。
http://blog.cuegraphix.com/?p=73
IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #3 投稿日:: 2月 05, 2010, 04:46:38 午後 »

northprint さん kmxsさん
教えて頂き、ありがとう御座います!

ただ、まだ上手く踏み込めない所があるのですが、例えば
http://hondakiyoshi.com/category/actionscript

に記載されているスクリプトは、"index.as”に組み込めば良いのでしょうか??
それとも.asファイルにして"import"すれば良いのですか??
IP記録
kmxs
管理人
初心者
*****
投稿: 49



プロフィールを見る サイト
« 返信する #4 投稿日:: 2月 05, 2010, 07:53:16 午後 »

@shinya さん

リンク先のでのサンプルでは、photoClass というクラスを fitstage.as に import して使っているみたいですね。fitstage がドキュメントクラスになっているので、progression だと Index.as に当たります。

引用
"index.as”に組み込めば

というのと

引用
.asファイルにして"import"すれば良い

というのはそもそも用途と設計が違うと思います。なぜ Index.as に書くのか、なぜクラスにして import するのか、目的によって違うと思うので、一概にどちらがいいとは言えないです。Index.as でも IndexScene.as でもいいと思うのですが、まずはどちらかのクラス内で画像をロードしてリキッドに対応させる練習をしてみてください。
てっとり早い感じで言うと、ボクは多分 IndexScene の _onLoad でやります。

shinya さん自身が、ActionScript と progression の概念をどこまで理解しているのか分からない中、割と一から回答しなければいけない感じの質問なので、試してみて、どこで躓いたのか、どこが分からないのか、はっきりした質問だとたくさんの人が答えてくれると思います。
IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #5 投稿日:: 2月 05, 2010, 11:24:15 午後 »

kmxs さん

親切に教えて頂き、有難う御座います!
(それと、こちらも未熟で申し訳御座いませんでした。)

とりあえずは色々試してみてみたいと思います。
以上宜しくお願い致します。
IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #6 投稿日:: 2月 07, 2010, 06:39:01 午後 »

度々失礼します。

先の背景画面をウィンドウサイズに合わせて表示させる件についてですが、"index.as"に組み込む事で上手く行きました。
("indexscene"に組み込むのはまだ上手く行けてませんが)
どうも有難う御座いました。



それと、教えて頂いた「LiquidLayout」を知り、これを使用できればと思い、色々と試行錯誤しております。
http://blog.cuegraphix.com/?p=73

しかし上記URLの「ソース一式」からファイルをダウンロードし、プレビューしようとしているのですが"index.as"の所で下記のようなエラーになってしまい、途方に暮れています。


1017: 基本クラス CastDocument の定義が見つかりませんでした。
1020: override としてマークされたメソッドは、別のメソッドをオーバーライドする必要があります。
5000: クラス 'layouttest.Index' は 'flash.display.MovieClip' をサブクラスとする必要があります。同じ型のライブラリシンボルにリンクしているためです。


とりあえず、エラー無しで表示させたいのですが、どうすれば良いのか教えて頂けないでしょうか??
宜しくお願い致します。








コード:
package layouttest {
import com.cuegraphix.layouts.LiquidLayout;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
import jp.progression.casts.*;
import jp.progression.commands.*;
import jp.progression.core.debug.Verbose;
import jp.progression.events.*;
import jp.progression.loader.*;
import jp.progression.*;
import jp.progression.scenes.*;
import org.libspark.ui.SWFWheel;


public class Index extends CastDocument {

public var prog:Progression;

public static var layout:LiquidLayout;

public static var container:Sprite;

public static var stageContoller:StageController;

public function Index() {
}



protected override function _onInit():void {

align = StageAlign.TOP_LEFT;
quality = StageQuality.HIGH;
scaleMode = StageScaleMode.NO_SCALE;

layout = new LiquidLayout( this );
container = new Sprite();
stageContoller = new StageController();
layout.addLayout( stageContoller, { onResize: stageContoller.onResize } );

graphics.lineStyle( 0, 0x000000 );
graphics.drawRect( 0, 0, layout.contentWidth, layout.contentHeight );

SWFWheel.initialize( stage );

Verbose.enabled = true;
Verbose.filteringCommand();

prog = new Progression( "index", stage, IndexScene );

prog.container.addChild( container );

prog.container.addChild( stageContoller );

prog.sync = true;

prog.goto( prog.firstSceneId );
}



public static function createRect( caption:String, color:int = 0xFF0000, width:Number = 100, height:Number = 100, x:Number = 0, y:Number = 0 ):CastSprite
{
var sp:CastSprite = new CastSprite();
sp.toolTip.text = caption;
sp.buttonMode = true;
sp.addEventListener( MouseEvent.CLICK, function( e:MouseEvent ):void { Index.layout.setEnableLayout( e.currentTarget, !Index.layout.isEnabled( e.currentTarget ) ); } );
sp.graphics.beginFill( color, 1 );
sp.graphics.drawRect( x, y, width, height );
sp.graphics.endFill();
return sp;
}
}
}








IP記録
kmxs
管理人
初心者
*****
投稿: 49



プロフィールを見る サイト
« 返信する #7 投稿日:: 2月 07, 2010, 10:10:18 午後 »

@shinya さん

「ソース一式」の sample.fla のドキュメントクラスである index.as を見てみると、まず progression プロジェクトに必要なクラスファイル及び、LiquidLayout クラスを import しています。

コード:
import com.cuegraphix.layouts.LiquidLayout;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
import jp.progression.casts.*;
import jp.progression.commands.*;
import jp.progression.core.debug.Verbose;
import jp.progression.events.*;
import jp.progression.loader.*;
import jp.progression.*;
import jp.progression.scenes.*;
import org.libspark.ui.SWFWheel;

しかし、LiquidLayout のサンプルソースは、ライブラリの中で使用することを前提としているため、progression および、LiquidLayout ライブラリのソースは梱包されていません。
このままでは動かないのは当然なので、これらのクラスファイルをしかるべきディレクトリにおいてあげれば動きます。

プロジェクトパネルから、クラススタイルで新規プロジェクトを制作し、/src/libs ディレクトリを、LiquidLayout の「ソース一式」の /sample src ディレクトリにコピーして、再度 sample.fla をパブリッシュしてみてください。その際、LiquidLayout クラスも梱包してください。あと書き出しディレクトリの /deploy も作ってあげてくださいね。

これで正常に書き出しできると思います。

progression 自体は便利なフレームワークですが、クラススタイルで制作する上で、基本的なクラス等の概念は必要です。
まずはそういった基礎的な部分を学習されてから、試してみるとすんなり理解できると思います。
progression の仕組みを簡単に理解するという意味で、コンポーネントスタイルをやってみるというのもいいかもしれませんね。



« 最終編集: 2月 07, 2010, 10:18:05 午後 by kmxs » IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #8 投稿日:: 2月 09, 2010, 08:10:58 午後 »

kmxs さん
ご返信が遅れてしまい、大変恐縮です。

設定方法を教えて頂き、有難う御座いました。
(ただ色々試してみましたが、残念ながらこちらの環境では実行できませんでした。)

やはり、もう少し検証してみたいと思います。
どうも有難う御座いました。
IP記録
cue
初心者
*
投稿: 10


プロフィールを見る サイト
« 返信する #9 投稿日:: 2月 09, 2010, 11:50:48 午後 »

@kmxs さん
当方のライブラリをご紹介およびご丁寧なご説明いただいてありがとうございます!

@shinya さん
パブリッシュ設定のライブラリパスなどは「libs」や「LiquidLayout」 ライブラリへのパスは正常に通っていますでしょうか?
「ソース一式」の /sample src 内のディレクトリ構成は、Progression のテンプレート構成は異なっているためちょっとややこしいですが

コード:
├ /deploy
├ /sample src
├─ /classes
├─ /libs            ← Progression libsフォルダ
├─ /com            ← LiquidLayout ライブラリ com フォルダ
└─ sample.fla

という構成にするのが一番手っ取り早いかもしれません。
また分からないことがございましたらお尋ねください。
IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #10 投稿日:: 2月 10, 2010, 02:07:22 午後 »

Cue 様

直々に教えて頂き、有難う御座います。

一応こちらなりに試してはみたのですが、下記のようなエラーが出てしまいます。

コード:
VerifyError: Error #1014: クラス jp.nium.events::EventIntegrator が見つかりません。

ReferenceError: Error #1065: 変数 StageController は定義されていません。

ReferenceError: Error #1065: 変数 StageControllerContent_6 は定義されていません。

ReferenceError: Error #1065: 変数 ComboBox は定義されていません。

               ・
               ・
               ・
               ・

どこをどのようにすれば良いでしょうか??
教えて頂けると幸いです。


何卒、宜しくお願いします。
IP記録
kmxs
管理人
初心者
*****
投稿: 49



プロフィールを見る サイト
« 返信する #11 投稿日:: 2月 10, 2010, 03:21:16 午後 »

@shinya さん

コード:
VerifyError: Error #1014: クラス jp.nium.events::EventIntegrator が見つかりません。

と怒られてるということは、ライブラリへのパスが通ってないだけだと思います。

前のボクのレスポンスやCueさんのアドバイスに沿うと、新たにファイルを作ることなく LiquidLayout は動きました。
サーバーにサンプルをアップしておきましたので、ご自分のプロジェクトファイルと何が違うのかを確認してみてくださいね!

http://www.kmxs.net/progression/LiquidLayoutSample.zip

<サンプル制作環境>
Mac OSX
Flash CS3
Progression 3.1.82


« 最終編集: 2月 10, 2010, 03:30:52 午後 by kmxs » IP記録
shinya
初心者
*
投稿: 8


プロフィールを見る
« 返信する #12 投稿日:: 2月 10, 2010, 06:32:53 午後 »

kmxs さん

用意して頂いたサンプルファイルで表示する事ができました。
どうも有難う御座います!

パスの通し方が悪かっただけなのですね。
度々お手数かける事になり、申し訳御座いませんでした。

色々有難うございました。
IP記録
ページ: [1]
  印刷  
 
ジャンプ先:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!