• ベストアンサー

Suzukaで一行ニュースティッカーを作りたい

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は画像を動かす簡単な物であればなんとか作れる程度です。 この程度の知識では無理かもしれませんが、何とか完成させたいので、どうかアドバイスをよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

「Suzuka ニュースティッカー」で検索するとすぐ出てくると思いますが。 http://www.google.co.jp/search?hl=ja&q=Suzuka+%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AB%E3%83%BC  ↓↓ ヒットするサイトのページ ↓↓ 「更新履歴ティッカー サンプル&作成方法解説」 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/suz31.html Suzukaの情報サイトはAdobe Flash に比べるとかなり少ないですが、 最近はかなり多くなってきています。 探せば(検索すれば)上のように結構色々出てきますよ。 > ネットで色々調べてはみたのですがよく分かりませんでした。 探すときは 「LoadVars Flash」 とか 「LoadVars Suzuka」 とか、 専門用語を入れて Google などで検索すると、色々なサイトが見つかります。 専門用語とはActionScriptに限りません。 「トゥイーン Suzuka」、「スプライト Suzuka」、「テキスト エフェクト Suzuka」、「SWF4 Suzuka」などなど、 このような検索でも見つかります。 1つの検索エンジン(例えば Google)で良い物がヒットしなければ, 「Yahoo!」,「MSN」,「百度」などでも同様に検索します。 これは、Suzuka や Flash や ActionScript に限ったことではなく, 他の事柄や分野でもだいたい同じです。 ですから専門用語を多く知っている分野ほど検索がうまくできます。 専門用語がわからない場合は、まず専門用語をヘルプなどで調べたり覚えたりすることが大切です。

noname#50429
質問者

お礼

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

その他の回答 (1)

  • Nii
  • ベストアンサー率48% (79/162)
回答No.1

外部テキストをロードするオーソドックスな方法 http://suzupara.iinaa.net/kiso211.html

noname#50429
質問者

お礼

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