2010年07月05日

数独パズルを紹介します

数独パズルを見つけましたので、紹介します。

見つけたのは、ここ

圧縮ファイルで入っているので、ダウンロードしてKooolMovesから開いてみましょう。

実際には、600x515のサイズですので、そのままではアップできないので、図形をちょっとずらしました。

幅を400に狭めてのアップです。

狭める前にテストしたので、狭めてからは実行中にうまくいくかどうかわかりません。

このゲームのルールは、全体で9×9のマスになっています。

3×3の中では、1〜9までの数字を1回しか使えません。

横ラインで、1〜9までの数字を1回しか使えません。

縦ラインで、1〜9までの数字を1回しか使えません。

たったこれだけのルールです。

完了したら、Finishボタンを押してください。

You Won・・・「勝った!」と表示されれば大成功

読み直すとパターンが変わります。




*2010/7/6
カウンターが隠れてしまったので、フラッシュの位置を移動しました。

ところで、何度かやってみたら、解が複数出てしまうことがあるようです。

但しその場合、片方でしか、You wonとなりません。

まだアルゴリズムの解析をしていないのですが、回答例を用意して、それに一致しているかどうかだけチェックしているようです。

*2010/7/7
小さくしてみました。
posted by hirano at 20:07| 埼玉 ☁| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年03月06日

Seesaaで自作のフラッシュをアップしよう

JpegやGIFなど、普通の画像ファイルはたいていのブログで簡単にアップできますが、フラッシュ画像はそういうわけに行きません。

まず、画像として扱ってもらえないから、アップすることができなかったり。

どうしようもなくて、他のFTPサイトなどにアップしたファイルを使って、アップしたり。

ここのブログでは、一緒に扱えます。

ただし、アップできるだけで直接貼り付けることはできませんのでちょっとコツが必要です。

Seesaa netではアップロードするファイルはとりあえず画像ファイルとして扱われます。ただし画像でないファイルは、サムネイルが作成されませんので、リストにはノートのようなアイコンが表示されています。

圧縮ファイルなどをアップした場合がこの形ですね。

フラッシュのアップには、いくつかのタグを使用できますが、私はその中でも、iframeタグを使用しています。

iframeの場合は<iframe src="ここにSWFファイルのURLを入れる。" width="画像の幅" height="画像の高さ" scrolling="no" frameborder="0" align=""></iframe>

というようになります。

アップしたSWFファイル。

このURLはどうやったら調べられるのでしょうか。

実は簡単です。

アップしたときの画像代わりのノートのようなサムネイル。ここをクリックします。

すると、<a href="http://xxxx.up.sesaa.net/image/****.swf">oooo.swf</a>というように内容欄に挿入されます。

この赤い部分がSWFファイルのURLになります。

widthとheightに入る数字はどうしたらよいのでしょうか。

これは、KoolMovesの画面側からとってきましょう。

メニューのMovieに入っています。

Movie Width/Heightの数字をそのまま入れます。

それではこの前のハノイの塔をアップしてみましょう。

ハノイの塔は、Movie sizeを見ると、400と100になっています。

そうすると、
<iframe src="http://xxxx.up.sesaa.net/image/hanoi.fun" width="400" height="100" scrolling="no" frameborder="0" align=""></iframe>

となり、これをアップすると、下のようになります。

↓↓↓↓↓



posted by hirano at 20:34| 埼玉 ☔| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年03月04日

KoolMovesの勉強コミュを作ってみました。

今までMixiは招待が無いとは入れなかったのですが、3月1日から招待が無くても入れるようになりました。

といっても、招待無しで入った場合、入った後に友人を探さないといけないみたいですけど。

Mixiの中で、友人のことをMyミクって言いますけど、それを最低一人つけるんです。

ところで、KoolMovesの勉強が出来ないかと思って、FreeMLで探してもアクションスクリプト関係ではアクティブな場所は無し。

ところが、Mixiだけは、皆さん頑張っているようです。

そこで、Mixiに「安価にAction Script」ってコミュニティを作ってしまいました。

公開コミュニティとしていますので入会は自由です。

http://mixi.jp/

から新規入会できると思います。

ちょっとでもフラッシュに興味をもっている方、ぜひMixiに入って、「安価にAction Script」一緒に勉強しませんか?
posted by hirano at 20:46| 埼玉 ☔| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年03月02日

更に写真を重ねて

花びらの下に写真を重ねてちょっと薄くしてみました。

更に、サイズと動きを調整したらこんな風になりました。

画像の上でマウスを動かしてください。




Mouse Trailの設定は以下の通りです。

項目mc5mc4mc3mc2mc1
Radius(pixels)38152030
Speed22444
Trail length14121212
Rotation speedslow clockwise


これ以外はデフォルトです。

仕上げはMovie Speedのダウンです。10にしてみました。
posted by hirano at 20:28| 埼玉 🌁| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

Mouse Trail を重ねてみると

図形がマウスを追いかけるMouse Trail。

これを複数重ねてみるとどうなるでしょうか。

条件を変えて重ねてみました。

画面の上で、マウスを動かしてみてください。




花びらを5つ作り、少しづつ色を変えます。

大きい図形は上に配置します。

また、大きい図形ほど、早く消えるようにします。

花びらの描き方は、最初にハートを書きます。

円を描き、斜め下と真横の□を削除。真上の四角は、中心あたりまで下ろす。

あとは適当に○の位置を調整します。

ハートが出来たら、4枚にコピーし、TransformsからFlipやRotateを使用し、うまく重ねましょう。

Line Widthを0にすると、枠線は消えます。

背景が白のところに、白い花びらは見えません。

背景に色をつけます。もちろん写真を使っても結構です。

背景の色付けは、MovieのBackground Color

4枚の花びらは、塗りつぶし(Fill color)で色をつけます。グラデーション(Gradient color)をすると花びらっぽくなります。

4枚並べて[Objects]-[group]でグループ化します。

(最初クローバーで書いていましたが、クローバーは花ではないですね。と言うよりクローバーの花は複雑です。そこで、ただの花びらにしました。)
posted by hirano at 00:43| 埼玉 🌁| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年02月21日

ハノイの塔の制作

ハノイの塔は、プログラミングの練習にもよく出てくるソフトの一つです。

ルールは、前回も書いたように、3本ポールが並んでいます。

開始のときには、全部一番左のポールにあって、それを最低の回数で一番右に移動するというだけです。

移動のコツは、上は右回り、下は左回りで移動すると効率が良いようです。

それでは、ハノイの塔の構造です。

塔は左からT0,T1,T2とします。

最初T0に下から順に、C1,C2,C3,C4,C5,C6というフロアー用チップがあります。
一番上は、C6です。

そのため移動できるフロアーは、C6だけです。

kai.jpg
一つのフロアー用チップは、左の図のように作成しました。

外枠用として、長方形。黒枠と白の塗りつぶしで書いてありますが、枠無し(Line width = 0)、塗りつぶし色なし(color/fill のTransparency = 100)とし、各階で同じサイズ
となります。

円柱形部分は各階ごとに色と幅が変わります。

透明の外枠を付けた理由は、同じサイズにすることにより、積み重なった際下の階が完全に上の階に重なりますので、間違って下の階をドラッグしなくなり、上下の判断を省略で
きるためです。

円筒は、同サイズの楕円を二つ作り、片方を変形して作成します。

一つのフロアー分として、長方形と円筒を一緒に選択し、[Objects]-[Group]でグループ化します。

さらに各フロアーは、ドラッグを認識するためボタンとして設定します。

ボタンの設定は、上記でグループ化した図形を選択し、図形のプロパティでIs a buttonをYesにします。

ボタンのActionScriptとしてバウンスのときに使ったActionScript
使えます。

dragという変数を作って、ボタンをマウスで押さえている間だけ、treu(真)とします。
マウスのボタンを放すとfalse(偽)となるわけです。
on (press){
 drag = true;// ボールを押さえています
}
on (release){
 drag = false;// ボールを放しました
}
on(releaseOutside){
 drag = false;// ボールの外にいます
}
C1〜C6にすべてこのスクリプトを設定しておきます。

ドラッグを認識できるようになったボタンは次にドラッグにより移動できるようにします。

これはツールバーのConvert to Movie Clipを使用します。

ここから先は階の名前が必要になります。

Movie Clipに変換されたボタンはmc1、mc2などとなっています。

1階をmc1、2階をmc2というように設定します。

ここのブログでは、本文部分の横幅は最大400ピクセルですので、ステージの横幅はそれ以内に設定します。一応最大の400ピクセルとしました。

dragがTrueのときだけ、ムービークリップの中でフロアー用チップを移動します。

これには以下のようにします。

グループ化されたオブジェクトの名前は、G1、G2となりますが、これを共通の名前にします。共通の名前を使うことによりそのうえでスクリプトを書くときの式を共通にすること
ができます。ここで名前をchipsとしました。

onClipEvent(enterFrame) {
  if(drag){
    chips._x = _xmouse;
    chips._y = _ymouse;
} else {
    chips._x = 130 * enpos;
    chips._y = 0;
}
タワーとタワーの間隔を130としました。

ドラッグが終了した段階で、その位置が移動可能な場所であればそこのセンターに移動します。移動場所をenposとしました。

この処理を行うためには、ボタン処理の部分でdrag判定部分を拡張します。

dragがTrueになる時の場所と、Falseになった時の場所をチェックします。マウスの有効領域としてタワーの幅を100としました。

タワーの間隔が130ですので、マウスの座標にタワーの幅の半分を足してタワーの間隔で割りその剰余を調べます。それがタワーの幅に入っていればタワーの中にいることになりま
す。

if((_mouse+50) % 130<100){
  stpos = Math.floor((_xmouse+50)/130);
}

となります。

Math.floor((_xmouse+50)/130);は130で割った時の整数部分を抜き出すわけです。

放す部分ではもうちょっとややこしくなります。

放した場所に自分より高い位置用のチップがあれば置くことができません。

そこでグローバル変数を用意しました。

T0,T1,T2用として、それぞれg0,g1,g2です

ここに置いた位置の階層番号を文字として追加します。
文字列の一番右が積み上げた一番上です。

つまり一番右にある文字が自分の番号より下の番号なら配置が可能です。そうでなければスタート時のポジション番号を入れます。

チップの移動があった場合、移動した元のタワーの位置から一番右の文字を削除し、削除した文字を移動した先のタワーに追加します。

たとえばg1=="126"、g2=="35"となっているとき、g1の6をg2に移動すると、g1=="12"、g2=="356"となります。

こうして、g2=="123456"となると完成です。
posted by hirano at 00:52| 埼玉 ☁| Comment(2) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年02月06日

季節はずれですが、落ち葉

雪をアレンジして落ち葉を作ってみました。

雪の場合には白い円を1個だけ作ってコピーしましたが、今度は色の違いがあります。

また、自由落下の必要もあります。

そこで検索したところ、ここにfallingleaves.swfというのがありました。

早速参考にしようとしてKoolmovesにインポートしてみたところ、残念ながらスクリプトは無く一つの枯葉を165フレームかけて落下させているだけ。

別名、力技です。

確かに一番自然に落下の様子を表現できます。

そこで、先日作った雪の落下を使って表現しました。

それがこれ↓↓↓


枯葉は一枚一枚色が違いますから、最初に一枚で落下を表現しました。

次に出来上がった一枚をコピー。

コピーして貼り付ける際、Movie Clip Framesというメニューで、上のShare movie clip framesを選んでしまうと、グラデーションで色の変更をすると元の葉まで色が変わってしまいます。

そこでMake a complete copy of movie clip framesを選択してOKボタンを押します。

また、フレーム側のアクションでは原型の葉から複数の葉の複製を作成します。

その時に葉の番号から原型の葉の枚数、今回は4枚作りましたので4で割った余りで複製する葉の番号を指定するようにします。

もっと細かく色を変えたければ、元の葉の数を増やせばいろいろな色の葉ができることになります。
posted by hirano at 18:17| 埼玉 ☀| Comment(2) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年02月03日

マウスで変化する吹雪

Falling Snow 2.0を移植してみました。

viii.で雪のコピーを作っているのですが、ここでは


snowflakes = 75;
do {
   duplicateMovieClip(snow,"snow"+k,k);
   k++;
} while (k !=snowflakes);


となっています。

do .. while は、while条件が成立している間doを実行しなさい。と言う意味です。snowflakesは75ですからKが75になったら、doループから抜けます。

koolmovesでこのまま入れてみたら、うまく動きませんでした。

そこでこれを書き換えると、


snowflakes = 75;
while(k<snowflakes){
   duplicateMovieClip(snow,"snow"+k,k);
   k++;
}


が同じ意味になります。

Create Falling Snowでは、これを


for (k=0; k<50; k++) {
   duplicateMovieClip(this.snow, "snow"+k, k);
}


と書いています。

k<75とすると、同じ意味になります。

↓↓↓その結果がこれ。↓↓↓




雪の上にマウスを乗せてみてください。

マウスの位置により雪が反対のほうに流れます。

KoolMovesに書き換えたソースをアップしました。興味のある方は
ここからダウンロードしてください。

ダウンロードしたファイルを適当なフォルダーに保存し、KoolMovesのメニューの[File]-[Open]でダウンロードしたファイルを開きます。

[Play]-[Play in Web Browser]で表示します。
posted by hirano at 18:58| 埼玉 ☀| Comment(0) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年01月31日

夕暮れ+雪

夕暮れのムービーと雪のムービーを合成してみました。

まず、雪のムービーは、夕暮れのムービーと同じフォルダーに保存。

日が暮れた後のフレームに、インポートしました。

アップロードは両方のムービーをアップロードです。


posted by hirano at 12:33| 埼玉 ☔| Comment(4) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

2010年01月28日

フラッシュで雪を降らす

フラッシュで雪を降らすには、と言うことで検索を行ったところCreate Falling Snowに有りました。

英語の記事の上Adobe Flashで書いてあります。

これを、KoolMovesに移植しました。

移植といってもそのまま使用できます。



1.新しいムービーをKoolMovesで作ります。任意のサイズでよいのですが、ソースは幅が300、高さが200になっていますのでとりあえずそのまま作りましょう。

スムーズに動かすため、フレームレートを25にします。KoolMovesでは[Movie]-[MovieSpeed]にあたります。

背景色としては好きな色でよいのですが、雪が見えるように若干薄暗い色にすると良いでしょう。

2.1個の雪を描きます。これは楕円ツールで直径4くらいのちょっといびつな楕円とします。雪の色は白ですが、外形はいりませんので、線幅を0とします。配置する場所はムービーエリア上のどこでも結構です。

3.画像の名前が標準では、S1になっていると思いますが、winterに変更し更にMovieClipに変換します。(MC1になります)

4.3で変更したMC1の名前をsnowに変更します。

5.下のテキストボックスの中は、Create Falling Snowの項目v.にあるボックスの中、そのままです。これをコピーし、snowのプロパティでActionsのaction scriptの中に貼り付けます。内容の修正は必要ありません。


6.これもvi.にあるボックスの中のスクリプトをこぴーしたものです。Movie Overviewを開き、Key frame 1のActionの中のaction scriptの中に貼り付けます。

7.これで完成です。[Play]-[Play in Web browser]で実行してみましょう。

完成したら、SWFで出力します。

ムービーの大きさや、雪の数を変更する場合は、以下のようにします。

ムービーサイズは現在300x200です。

これは、項目5のmovieWidthとmovieHeightで宣言しています。

例えば、250x180であれば
movieWidth = 250;
movieHeight = 180;
とします。

また、雪の数は、現在は50です。

項目6で宣言しています。スクリプト中、k<50;がそうですので、100個にしたいのであれば、k<100;とします。
posted by hirano at 20:43| 埼玉 ☁| Comment(1) | TrackBack(0) | Koolmoves | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。