レス数:10 / 状態:解決済み / No:5 / ATOM
1
名前:Flash大好き
日付:2010/04/07(水)13:58:16
ID:92ceqp0jbm0d
いまAS1.0かAS3.0で雪を降らすことができるスプリクトを探しています
いろいろなサイトさんを見てやってみたものの
どうしてもエラーが出ます・・・
どなたか
エラーが出ないスプリクトを教えてください
よく出るエラーは「パッケージをネストすることはできませんです
どうかよろしくお願いします
いろいろなサイトさんを見てやってみたものの
どうしてもエラーが出ます・・・
どなたか
エラーが出ないスプリクトを教えてください
よく出るエラーは「パッケージをネストすることはできませんです
どうかよろしくお願いします
2
名前:kame
日付:2010/04/07(水)17:44:06
ID:GKBiaxnzD6eZ
AS1です。
1,まず雪の画像を用意する。(←これ重要。うんこみたいな雪になるか、幻想的な雪になるかはこれで決まる。)
2,画像をムービークリップにぶち込む
3,ムービークリップのインスタンス名を"yuki"にする。
4,「"yuki"が配置されている」ムービークリップのクリップアクションに↓をぶち込む。
(yuki自体ではないから要注意だ!m9(`・ω・´))
onClipEvent(load){
m=5;
_root.sin=0;
}
onClipEvent(enterFrame){
au=int(Math.random() * m) + 1;
if(au==5){
_root.sin++;
if(_root.sin>=200){
_root.sin=0;
}
ins="yuki"+_root.sin;
yuki.duplicateMovieClip(ins,_root.sin);
}
}
5,"yuki"のクリップアクションを書く。
(ここはどんな動かし方をしたいか、自分で考えて書くこと。)
※細かなこと※
雪の数を増やしたいときは、
mの数を減らすか、
"yuki"が配置されているムービークリップを複製して下さい。
気が向いたら動かし方も載せるかも…?!
1,まず雪の画像を用意する。(←これ重要。うんこみたいな雪になるか、幻想的な雪になるかはこれで決まる。)
2,画像をムービークリップにぶち込む
3,ムービークリップのインスタンス名を"yuki"にする。
4,「"yuki"が配置されている」ムービークリップのクリップアクションに↓をぶち込む。
(yuki自体ではないから要注意だ!m9(`・ω・´))
onClipEvent(load){
m=5;
_root.sin=0;
}
onClipEvent(enterFrame){
au=int(Math.random() * m) + 1;
if(au==5){
_root.sin++;
if(_root.sin>=200){
_root.sin=0;
}
ins="yuki"+_root.sin;
yuki.duplicateMovieClip(ins,_root.sin);
}
}
5,"yuki"のクリップアクションを書く。
(ここはどんな動かし方をしたいか、自分で考えて書くこと。)
※細かなこと※
雪の数を増やしたいときは、
mの数を減らすか、
"yuki"が配置されているムービークリップを複製して下さい。
気が向いたら動かし方も載せるかも…?!
3
日付:2010/04/08(木)16:58:21
ID:92ceqp0jbm0d
ありがとうございました!
できたら
動かし方も教えていただきたいのですが・・・・
ぎりぎりまで待っています
できたら
動かし方も教えていただきたいのですが・・・・
ぎりぎりまで待っています
4
名前:kame
日付:2010/04/08(木)18:01:38
ID:GKBiaxnzD6eZ
・動かし方の基礎
onClipEvent(load){
_y=-30;
_x=Math.random() * FLASHの横サイズ;
k=2;
}
onClipEvent(enterFrame){
_y=_y+k;
}
てな感じです。これで下に向かって雪が落ちます。
・奥行き感を出す
onClipEvent(load){
oku=Math.random()+0.5;
_xscale=oku*100;
_yscale=oku*100;
k=oku*2;
_y=-30;
_x=Math.random() * FLASHの横サイズ;
}
onClipEvent(enterFrame){
_y=_y+k;
}
これで奥行きが出ると思います。(でなかったらゴメンね)
ちらつかせるのは俺の技術の限界を超えています・・・
違う人に聞いてみて下さい。
onClipEvent(load){
_y=-30;
_x=Math.random() * FLASHの横サイズ;
k=2;
}
onClipEvent(enterFrame){
_y=_y+k;
}
てな感じです。これで下に向かって雪が落ちます。
・奥行き感を出す
onClipEvent(load){
oku=Math.random()+0.5;
_xscale=oku*100;
_yscale=oku*100;
k=oku*2;
_y=-30;
_x=Math.random() * FLASHの横サイズ;
}
onClipEvent(enterFrame){
_y=_y+k;
}
これで奥行きが出ると思います。(でなかったらゴメンね)
ちらつかせるのは俺の技術の限界を超えています・・・
違う人に聞いてみて下さい。
5
名前:竹馬
日付:2010/04/09(金)11:52:14
ID:bALLVrlqHKFo
作ってみたのでソースを貼っておきます。
・・・と思ったのですが、
なんか、ソースをそのまま書き込んだら
「長すぎだ!こんちくしょうめ!」的な事をいわれてしまったので、
ソースの置いてあるページへのリンクを貼っておきます。
ttp://www.ie.u-ryukyu.ac.jp/~e095729/index/program/yukiFolder/yuki.html
動かなかったらすいません。
・・・と思ったのですが、
なんか、ソースをそのまま書き込んだら
「長すぎだ!こんちくしょうめ!」的な事をいわれてしまったので、
ソースの置いてあるページへのリンクを貼っておきます。
ttp://www.ie.u-ryukyu.ac.jp/~e095729/index/program/yukiFolder/yuki.html
動かなかったらすいません。
6
名前:kame
日付:2010/04/09(金)19:19:09
ID:GKBiaxnzD6eZ
竹馬さんの技術力に舌を巻くばかりです。orz・・・
7
名前:k
日付:2010/04/09(金)20:45:35
ID:9kJEWPZA4knz
こんばんは。
AS1.0は、すでにすばらしいスクリプトが投稿されているので、
蛇足かもしれませんが、AS3.0で作ってみました。参考にしてください。
以下をMain.asで保存。そしてAlwaysCompileを設定する。fps20くらい、サイズ400*300、背景#000000。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
public class Main extends Sprite {
public static const W:uint = 400;// 画面幅
public static const H:uint = 300;// 画面高さ
private const SEC_NUM:Number = 2;// 一秒間に出現する雪玉、小数も可
private var nowNum:uint = 0;
public function Main():void {
stage.addEventListener(Event.ENTER_FRAME, this.addSnow);
}
private function addSnow(e:Event):void {
while (this.nowNum < getTimer() / 1000 * this.SEC_NUM) { stage.addChild(new Snow()); this.nowNum++; }
}
}
}
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.BlurFilter;
class Snow extends Sprite {
private const clsns:Number = Math.random();
private var angle:Number = Math.random() * Math.PI * 2;
private const addAngle:Number = Math.random() * 0.05 + 0.05;
private var dfltX:Number = Math.random() * Main.W;
public function Snow():void {
this.x = dfltX + Math.cos(this.angle); this.y = -(this.clsns * 5 + 5);
this.graphics.beginFill(0xffffff, this.clsns / 2 + 0.5); this.graphics.drawCircle(0, 0, this.clsns * 5 + 5);
this.addEventListener(Event.ENTER_FRAME, this.fall);
this.filters = [new BlurFilter((1.5 - this.clsns) * 4, (1.5 - this.clsns) * 4)];
}
private function fall(e:Event):void {
this.x = dfltX + Math.cos(this.angle += this.addAngle) * 10;
if (this.y++ > Main.H + this.clsns * 5 + 5) {
this.removeEventListener(Event.ENTER_FRAME, arguments.callee);
this.parent.removeChild(this);
}
}
}
ところで、エラーのことですが、as3.0なら、
ファイル名とクラス名が不一致だったり、importが正しく行われてなかったり、
Always Compileの設定が誤っていたりしていませんか?
上のことができていれば、サンプルサイトのがエラーになることはないと思うのですが…。
よければ、開発するのに使っているソフトを教えてください。
AS1.0は、すでにすばらしいスクリプトが投稿されているので、
蛇足かもしれませんが、AS3.0で作ってみました。参考にしてください。
以下をMain.asで保存。そしてAlwaysCompileを設定する。fps20くらい、サイズ400*300、背景#000000。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
public class Main extends Sprite {
public static const W:uint = 400;// 画面幅
public static const H:uint = 300;// 画面高さ
private const SEC_NUM:Number = 2;// 一秒間に出現する雪玉、小数も可
private var nowNum:uint = 0;
public function Main():void {
stage.addEventListener(Event.ENTER_FRAME, this.addSnow);
}
private function addSnow(e:Event):void {
while (this.nowNum < getTimer() / 1000 * this.SEC_NUM) { stage.addChild(new Snow()); this.nowNum++; }
}
}
}
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.BlurFilter;
class Snow extends Sprite {
private const clsns:Number = Math.random();
private var angle:Number = Math.random() * Math.PI * 2;
private const addAngle:Number = Math.random() * 0.05 + 0.05;
private var dfltX:Number = Math.random() * Main.W;
public function Snow():void {
this.x = dfltX + Math.cos(this.angle); this.y = -(this.clsns * 5 + 5);
this.graphics.beginFill(0xffffff, this.clsns / 2 + 0.5); this.graphics.drawCircle(0, 0, this.clsns * 5 + 5);
this.addEventListener(Event.ENTER_FRAME, this.fall);
this.filters = [new BlurFilter((1.5 - this.clsns) * 4, (1.5 - this.clsns) * 4)];
}
private function fall(e:Event):void {
this.x = dfltX + Math.cos(this.angle += this.addAngle) * 10;
if (this.y++ > Main.H + this.clsns * 5 + 5) {
this.removeEventListener(Event.ENTER_FRAME, arguments.callee);
this.parent.removeChild(this);
}
}
}
ところで、エラーのことですが、as3.0なら、
ファイル名とクラス名が不一致だったり、importが正しく行われてなかったり、
Always Compileの設定が誤っていたりしていませんか?
上のことができていれば、サンプルサイトのがエラーになることはないと思うのですが…。
よければ、開発するのに使っているソフトを教えてください。
8
日付:2010/04/09(金)22:18:24
ID:92ceqp0jbm0d
みなさんありがとうございました!
やってみます!
これににて解決です!
やってみます!
これににて解決です!
9
名前:状態変更
日付:2010/04/09(金)22:18:34
ID:92ceqp0jbm0d
この質問の状態を『解決』に変更しました。
10
日付:2010/04/09(金)22:47:08
ID:92ceqp0jbm0d
ちなみに
開発ソフトは
AdobeflashCS4
です
開発ソフトは
AdobeflashCS4
です
このスレッドについて
質問の状態 : | 解決済み |
投稿開始日 : | 2010/04/07(水)13:58:16 |
投稿終了日 : | 2010/04/09(金)22:47:08 |
投稿者 : | Flash大好き |
レス総数 : | 10 |
スレッド番号 : | 5 |