アプリ版:「スタンプのみでお礼する」機能のリリースについて

SuzukaというFlash作成フリーソフトを使い、
http://kei.serio.jp/flash/index.htmlに掲載されているNews Board(テキストの部分だけ)のような、
更新履歴やお知らせなどに使える、一行ティッカーを作成したいのですが、うまく作ることができません。
「外部テキストの読み込み」
「外部テキストに複数のメッセージをどのように書いたらよいか」
「外部テキストに書いた複数のメッセージを一つずつ順番に表示するアクションスクリプトの書き方」
この三つのことについて、ネットで色々調べてはみたのですがよく分かりませんでした。
フリー素材の物を使ってもよいのですが、何とか自分で作ったオリジナルのものを使いたいので、
Flashやスクリプトに詳しい方アドバイスをよろしくお願いいたします。

初めに「外部テキストの読み込み」についてお願いします。
過去の質問http://oshiete1.goo.ne.jp/kotaeru.php3?q=1777606を参考に、
作業を進めているのですが、Suzukaで外部テキストを読み込むことができませんでした。
作業は以下のようにしました。

まず外部テキストを作成するため、メモ帳でnews=あいうえおかきくけこ、と書きnews.txtのファイル名で保存、
そしてSuzukaを起動し、レイヤーにスプラウト(他ではムービークリップと言うみたいです)を追加、
スプラウトの中に、変数名を「news」としたダイナミックテキストと、アクションレイヤーを置いて、
アクションレイヤーに以下のスクリプトを書きました。

// 文字コードをShift-JISに
System.useCodepage = true;
//「news.txt」をロード
this.loadVariables("news.txt");

その後、news.txtと同じ場所にパブリッシュして、swfファイルとhtmlファイルを作成し、htmlを開き確認したのですが、
外部テキストを読み込めませんでした、何が足りないのでしょうか、やはり自分のやり方が悪いのでしょうか?
よろしくお願いします。

次に外部テキストの中身をどのように書いたらよいでしょうか、五つぐらいのメッセージを書きたいのです。内容はこんな感じです。
news0=2008/2/10 ○○○を更新
news1=2008/2/11 ○○○を更新
news2=2008/2/12 ○○○を更新
news3=2008/2/13 ○○○を更新
news4=2008/2/14 ○○○を更新

最後にメッセージを一つずつ順番に表示するアクションスクリプトの書き方をお願いします。
スクリプトについては自分はほとんど知識がありません。すみません。コピペでなんとか対応している状態です。
Flashは画像を動かす簡単な物であればなんとか作れる程度です。
この程度の知識では無理かもしれませんが、何とか完成させたいので、どうかアドバイスをよろしくお願いいたします。

A 回答 (2件)

「Suzuka ニュースティッカー」で検索するとすぐ出てくると思いますが。


http://www.google.co.jp/search?hl=ja&q=Suzuka+%E …
 ↓↓ ヒットするサイトのページ ↓↓
「更新履歴ティッカー サンプル&作成方法解説」
http://suzupara.iinaa.net/kousin.html
(↑#1 の方の書かれていらっしゃるページと同じサイト内の別のページです。)

素材サイトではなく作成方法を解説したサイトで、
Suzuka の CSFプロジェクトファイルも ダウンロード できます。


上記サンプルサイトと違う点と言えば外部データが違いますね。

news0=2008/2/10 ○○○を更新
news1=2008/2/11 ○○○を更新
news2=2008/2/12 ○○○を更新
news3=2008/2/13 ○○○を更新
news4=2008/2/14 ○○○を更新

これを上記サイトの XML で表すと次のようになります。

////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="Shift-JIS"?>
<history>
<historyNode kousinURL="○○.html">2008/2/10 ○○○を更新</historyNode>
<historyNode kousinURL="○○.html">2008/2/11 ○○○を更新</historyNode>
<historyNode kousinURL="○○.html">2008/2/12 ○○○を更新</historyNode>
<historyNode kousinURL="○○.html">2008/2/13 ○○○を更新</historyNode>
<historyNode kousinURL="○○.html">2008/2/14 ○○○を更新</historyNode>
</history>
////////////////////////////////////////////////////////////////////////

ダウンロードできる XML をテキストエディタ(メモ帳など)で開いて、
実際に上のように変更してみましたがちゃんと動作しました。



ご質問のように LoadVars で、

news0=2008/2/10 ○○○を更新
news1=2008/2/11 ○○○を更新
 …  …

をロードする場合は、
変数=値&変数=値&変数=値&変数=値&変数=値&…
というデータ形式にしなければなりませんから、
実際は次のようにしなければなりません↓。

news0=2008/2/10 ○○○を更新&
&news1=2008/2/11 ○○○を更新&
&news2=2008/2/12 ○○○を更新&
&news3=2008/2/13 ○○○を更新&
&news4=2008/2/14 ○○○を更新

改行コードも不要な1文字になりますから、改行コードの前にも & を入れておく方が無難です。


しかし、思うのですが、

news0=2008/2/10 ○○○を更新&
&news1=2008/2/11 ○○○を更新&
&news2=2008/2/12 ○○○を更新&
&news3=2008/2/13 ○○○を更新&
&news4=2008/2/14 ○○○を更新

のようなデータだと更新が大変でしょう?
例えば更新履歴を1つずらすときでも
「=」 の右辺だけをずらさないといけません。
妙なところに & も要りますし。

XML だと、
必要な行をコピペで増やして書き替えて、
不要な行を削除すればそれだけで OK です。
ずらすという必要がありません。
先に表示したいものを上に書けば(コピペして書き替えれば)良いだけです。

また上のXMLの場合、
クリックしたときにジャンプするページもペアで登録できます。

news0=2008/2/10 ○○○を更新&
&news1=2008/2/11 ○○○を更新&
 … …

のような形でも、
複数のデータをペアで指定できなくもありませんが、データが繁雑になります。

さらに応用を考えた場合、
RSS(XML) 配信をしているようなブログで使うと、
日記を書くたびに XML も自動的に更新されますから、
ブログの XML を表示させるようにすれば、
更新履歴のデータそのものも用意する必要がなくなります。

更新履歴やニュースなどを扱う場合、
とにかく色々な面で XML の方がずっと有利で便利です。



=======================

しかし、一応 LoadVars のご質問ですから、

news0=2008/2/10 ○○○を更新&
&news1=2008/2/11 ○○○を更新&
 … …

のようなデータ形式で、LoadVars を用いたものも回答しておきます。

ムービー構造の作成方法まではここでは説明できませんが(文字だけで構造の説明は難しいです)、
上記 URL のサンプルの、スクリプト部分のみを修正するという形であれば回答できます。

まず外部テキストに

total=5&
&news0=2008/2/10 ○○○を更新&
&news1=2008/2/11 ○○○を更新&
&news2=2008/2/12 ○○○を更新&
&news3=2008/2/13 ○○○を更新&
&news4=2008/2/14 ○○○を更新

のようなデータを書きます。
文字コードは Shift-JIS で、
「kousin.txt」というファイル名を付け、
SWF を作成するフォルダ(CSFと同じフォルダ)に保存したとします。


上記URLでダウンロードできる CSF ファイルの、
アクションレイヤーのフレーム1のスクリプトを次のように書き替えます。

---------------------------------
// ストップ
stop();
// カウント用変数 cnt の初期値を設定
var cnt = -1;
// ------
// Shift-JIS でロード
System.useCodepage = true;
// LoadVarsインスタンスの作成
var myLV = new LoadVars();
// 更新データロード時の動作定義
myLV.onLoad = function() {
// 再生開始
_root.play();
};
// キャッシュ参照防止策
// 今の時刻オブジェクトの作成
var myday = new Date();
// 1970年1月1日0時からのミリ秒数を取得
var mytime = myday.getTime();
// 外部更新データtxt を LoadVarsインスタンスにロード
myLV.load("kousin.txt"+"?num="+mytime);
// ------
// スクロール文字にマスクをかける
_root.mojiMC.setMask("_root.my_mask");
---------------------------------


アクションレイヤーのフレーム2のスクリプトを次のように書き替えます。

---------------------------------
if(cnt<Number(myLV.total)-1){
cnt++;
}else{
cnt=0;
}
// 文字を表示
_root.mojiMC.mojiTXT.text = myLV["news" + cnt];
---------------------------------

以上です。
その他詳細は、#1の方の書かれていらっしゃるページや、上のページを参考にしてみてください。



=====================

ちなみに、
上のサイトでダウンロードできるファイルの無断変造・改造してそれをアップするのは自由だそうです。
この辺にそう書いてあります↓。
http://suzupara.iinaa.net/kiso311.html

さらにちなみにですが、
上のページのティッカーを改造する方法を解説しているサイトもあります。
よろしければご参考に↓。

「フラッシュムービー作成ソフト Suzuka → ティッカー」
http://www16.plala.or.jp/kiitoksia/sanft/suz/suz …


Suzukaの情報サイトはAdobe Flash に比べるとかなり少ないですが、
最近はかなり多くなってきています。
探せば(検索すれば)上のように結構色々出てきますよ。


> ネットで色々調べてはみたのですがよく分かりませんでした。

探すときは 「LoadVars Flash」 とか 「LoadVars Suzuka」 とか、
専門用語を入れて Google などで検索すると、色々なサイトが見つかります。

専門用語とはActionScriptに限りません。
「トゥイーン Suzuka」、「スプライト Suzuka」、「テキスト エフェクト Suzuka」、「SWF4 Suzuka」などなど、
このような検索でも見つかります。

1つの検索エンジン(例えば Google)で良い物がヒットしなければ,
「Yahoo!」,「MSN」,「百度」などでも同様に検索します。

これは、Suzuka や Flash や ActionScript に限ったことではなく,
他の事柄や分野でもだいたい同じです。
ですから専門用語を多く知っている分野ほど検索がうまくできます。
専門用語がわからない場合は、まず専門用語をヘルプなどで調べたり覚えたりすることが大切です。
    • good
    • 0
この回答へのお礼

詳しい回答をありがとうございます。
http://suzupara.iinaa.net/kousin.htmlのサンプルをダウンロードし、
教えて頂いた通りにスクリプトを書き換えたところ、希望通りの物を作ることがができました。
一から作成するのは、自分にはまだ無理そうなので、サンプルを自分なりに編集して使うことにしました。
XMLという外部データを読み込む方法も、編集が便利で良さそうなので試してみます。
検索も専門用語を入れた方がヒットしやすいのですね。勉強不足でした…。
BlurFiltanさん、色々と教えて頂きありがとうございました。

お礼日時:2008/02/15 12:39

外部テキストをロードするオーソドックスな方法


http://suzupara.iinaa.net/kiso211.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
Suzukaの基礎や使い方が載っているサイトがあったのですね。
教えて頂きありがとうございます。よく読んでチャレンジしてみます。

お礼日時:2008/02/14 13:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!