トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     マスクについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
渡辺 隆彦
Åê¹ÆNo.36750
投稿日時: 2007-12-11 13:54
半人前
居住地: 東京
投稿: 33
使用環境:
Arc:MacMini(1.5G PowerPC G4)
OS :MacOSX(10.4.8)
Appli:Flash Professional 8
マスクについて
マスクについて質問させてください。

以下の様なコードで、MCの上にマスクをかけて、MCをちょっとずつ
右に動かしているのですが、だんだんマスクがずれてしまいます。

マスクはMC上に作ってあるので、一緒に動くはずなのですが。。

試しに、
it_mc0.setMask(it_mask0);
の行をコメントアウトすると、マスクも一緒に動いているのが確認できます。

よろしくお願いいたします。

(手順)
1.グラデーションを作り、シンボルにしてから、リンケージをcr_mask
としています。

2.it_mc0の空ムービークリップにmyBitmapDataというビットマップ
データを貼付けます。

3.先のcr_maskをis_mask0というインスタンス名でit_mc0上に作っています。

4.it_mc0にit_mask0のマスクを適用しています。

5.it_mc0をちょっとずつ右に動かしています。


(コード)
var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000);

var it_mc0:MovieClip = this.createEmptyMovieClip("mc0", 0);
it_mc0.attachBitmap(myBitmapData, 0);
it_mc0.cacheAsBitmap = true;

var it_mask0 = it_mc0.attachMovie("cr_mask", "is_mask0", 1);
it_mask0.cacheAsBitmap = true;

it_mc0.setMask(it_mask0);

this.onEnterFrame = function() {
it_mc0._x += 1;
}

(環境)
Mac mini powerPC4
Flash 8

ひろゆき
Åê¹ÆNo.36751
投稿日時: 2007-12-11 14:46
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: マスクについて
マスクとマスク対象が同階層にないからでは?

import flash.display.BitmapData;

var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000);

var it_mc0:MovieClip = this.createEmptyMovieClip("mc0", 0);
var bd_mc:MovieClip = it_mc0.createEmptyMovieClip("bd", 0);
//it_mc0.attachBitmap(myBitmapData, 0);
bd_mc.attachBitmap(myBitmapData, 0);
//it_mc0.cacheAsBitmap = true;
bd_mc.cacheAsBitmap = true;

var it_mask0 = it_mc0.attachMovie("cr_mask", "is_mask0", 1);
it_mask0.cacheAsBitmap = true;

//it_mc0.setMask(it_mask0);
bd_mc.setMask(it_mask0);

this.onEnterFrame = function() {
	it_mc0._x += 1;
}


----------------
質問する際は、回答者に具体的な情報を与えてください。

野中文雄
Åê¹ÆNo.36752
投稿日時: 2007-12-11 14:48
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: マスクについて
MovieClip.cacheAsBitmapプロパティをtrueに設定すると、インスタンス内に配置したマスクが親と一緒に動かなくなるようです。
import flash.display.BitmapData;
var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000);
var it_mc0:MovieClip = this.createEmptyMovieClip("mc0", 0);
it_mc0.attachBitmap(myBitmapData, 0);
it_mc0.cacheAsBitmap = true;  // これが問題 
// var it_mask0 = it_mc0.attachMovie("cr_mask", "is_mask0", 1);
var it_mask0 = this.attachMovie("cr_mask", "is_mask0", 1);
it_mask0.cacheAsBitmap = true;
it_mc0.setMask(it_mask0);
// this.onEnterFrame = function() {
it_mc0.onEnterFrame = 
it_mask0.onEnterFrame =
function () {
	// it_mc0._x += 1;
	this._x += 1;
};

引用:
渡辺 隆彦さんは書きました:
マスクはMC上に作ってあるので、一緒に動くはずなのですが。。


----------------
 

野中文雄
Åê¹ÆNo.36754
投稿日時: 2007-12-11 15:00
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: マスクについて
あるいは、もうひとつ入れ子のMovieClipを増やすことでしょうか。
import flash.display.BitmapData;
var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCFF0000);
var holder_mc:MovieClip = this.createEmptyMovieClip("my_mc", 0);
// var it_mc0:MovieClip = this.createEmptyMovieClip("mc0", 0);
var it_mc0:MovieClip = holder_mc.createEmptyMovieClip("mc0", 0);
it_mc0.attachBitmap(myBitmapData, 0);
it_mc0.cacheAsBitmap = true;
// var it_mask0 = it_mc0.attachMovie("cr_mask", "is_mask0", 1);
var it_mask0 = holder_mc.attachMovie("cr_mask", "is_mask0", 1);
it_mask0.cacheAsBitmap = true;
it_mc0.setMask(it_mask0);
// this.onEnterFrame = function() {
holder_mc.onEnterFrame = function() {
	// it_mc0._x += 1;
	this._x += 1;
};


----------------
 

渡辺 隆彦
Åê¹ÆNo.36755
投稿日時: 2007-12-11 15:13
半人前
居住地: 東京
投稿: 33
使用環境:
Arc:MacMini(1.5G PowerPC G4)
OS :MacOSX(10.4.8)
Appli:Flash Professional 8
Re: マスクについて
ひろゆきさん、野中さん
ありがとうございます。

1.同階層にマスクとマスク対象を作成する場合
2.マスクをマスク対象と一緒に動かす場合

二つアドバイスをいただき、とても参考になりました。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops