スキップしてメイン コンテンツに移動

投稿

ラベル(Flash)が付いた投稿を表示しています

ActionScript 3.0でハロウィン

お菓子をくれなきゃ、いたずらするぞ! Trick or Treat! ということで、ハロウィン。ActionScript 3.0を使って10分ほどで作成。カボチャをクリックすると色が変わる。 以下に、ソースコードを示す。 Halloween.as // Halloween.as // by nox, 2008.10.31 package { import flash.display.*; import flash.text.*; import flash.events.*; import flash.utils.Timer; public class Halloween extends Sprite { // dafont.com http://www.dafont.com/ [Embed(systemFont="Halloween Borders", fontName="HalloweenFont", mimeType="application/x-font" )] private static const HalloweenFont:Class; private var txtHalloween:TextField = new TextField(); private var HalloweenStageWidth:int, HalloweenStageHeight:int; private var timer:Timer; private function ClickHandler(event:Event):void { var format:TextFormat = txtHalloween.getTextFormat(); format.color = Math.random() * 0xFFFFFF; txtHalloween.setTextFormat(forma...

ActionScript 3.0で少し早いクリスマス気分を味わう

クリスマスあたりを目処に簡単なゲームをActionScript 3.0で作ろうかと思って、その雛型を作ってみた。雛型なんでホントに形だけだけど。それでも赤と緑の色合いとクリスマスソングで気分だけはクリスマスっぽくなるなぁ。それにしても未だにActionScript 3.0の使い方がこんなんで良いのか疑問に思う。なんだか無駄の多いコードのような気がする。 以下のFlashコンテンツをマウスクリックなどでアクティブにして適当なキーを押すと始まる。MP3だけで2.5MBあるので少し重いかも。尚、 音が鳴るので注意 すること。因みに飛んでいる天使をクリックすると…。 BGMに taitai studio の フリーMp3素材集 からHappy Christmas Partyを利用させてもらった。また、効果音は 効果音g から。フォントについては dafont.com からクリスマス関連のフォントを使用した。 以下、ソースコード。 ActionXmas.as // ActionXmas.as // by nox, 2008.10.29 package { import flash.display.*; import flash.text.*; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.utils.Timer; public class ActionXmas extends Sprite { // taitai studio http://www.taitaistudio.com/ // taitai studio フリーMp3素材集 http://www.taitaistudio.com/mp3/ [Embed(source="xmas.mp3")] private static const SoundXmas:Class; // 効果音g http://sfxg.bufsiz.jp/index.html [Embed(sou...

ActionScript 3.0で使う文字だけを埋め込む

てっく煮ブログ の AS3で埋め込みフォントを使うテクニック で使う文字だけを埋め込む便利なスクリプトがPerlのワンライナーで書かれていたので、連続する文字に対応させてPythonで実装。 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys def main(args): # 引数がなければ標準入力、あればそのファイル名から読み込み. f = file(args[1]) if len(args) > 1 else sys.stdin # 文字を読み込み、重複しないようにソートして配列に格納. letters = sorted(set([ord(s) for l in f for s in unicode(l.rstrip("\n"))])) # 小さい順に標準出力に表示. 文字コードが連続している場合は - で繋げて出力. sys.stdout.write("U+%04X" % letters[0]) pre_s = letters[0] is_seq = False for s in letters[1:]: if s - pre_s == 1: is_seq = True elif is_seq: sys.stdout.write("-U+%04X,U+%04X" % (pre_s, s)) is_seq = False else: sys.stdout.write(",U+%04X" % s) pre_s = s if is_seq: sys.stdout.write("-U+%04X" % pre_s) if __name__ == "__main__": main(sys.argv) 例えば、以下の文字を使いたい場合、 ぁぃぅぇぉ あいうえお かきくけこ abcdefg xyz これを上記のス...

Google App Engine: Flashコンテンツをデータベースに入れてみた

Flash置場が欲しかったので、Google App Engineのデータベース(datastore)を使った Flashコンテンツのアップローダ を作ってみた。BlobProperty()を使うことでデータベースには一応入ったが、サイズが大きいFlashでは例の時間制限に引っ掛かってアップロード途中でエラーを吐いてしまった。この制限、どうにかならないかなぁ。 取り敢えず、ソースを以下に示しておく。 flash_uploader.py #!/usr/bin/env python # -*- coding: utf-8 -*- import cgi, re, urllib, datetime import wsgiref.handlers from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext import db # Flash SWFデータ class FlashData(db.Model): author = db.UserProperty() username = db.StringProperty(multiline=False) date = db.DateTimeProperty(auto_now_add=True) title = db.StringProperty(multiline=False) summary = db.TextProperty() width = db.IntegerProperty() height = db.IntegerProperty() content = db.BlobProperty() class Flash(webapp.RequestHandler): def get(self): user = users.get_current_user() self.response.out.write("""<title>Flashコンテンツ - アップローダ</title> <h1>...

Flash Videoからサウンドを抜き出してMP3ファイルにする方法

mplayer およびlame( win/mac , linux )を利用して、Flash Video(file.flv)からサウンドを抜き出してMP3ファイル(file.mp3)にするには、コマンドプロンプト上で以下のように実行する。 mplayer file.flv -ao pcm:file=file.wav -vc dummy -vo null lame -b 128 --resample 44100 -t file.wav file.mp3 ニコニコ動画やYouTubeの動画のサウンドをMP3ファイルにしたい場合に便利。

Flash VideoをAVIファイルに変換する方法

mplayer 付属のmencoderを利用して、Flash Video(file.flv)をAVI動画ファイル(file.avi)に変換するには、コマンドプロンプト上で以下のように実行する。 mencoder file.flv -o file.avi -ovc lavc -lavcopts vcodec=msmpeg4v2 -oac mp3lame ニコニコ動画やYouTubeの動画を変換したい場合に便利。

NANACA†CRASH!!

NANACA†CRASH!! Flashゲームなんだけど、くだらなくて良いです。くだらないと言ってもFlashの完成度はとても高い。よく考えつくなぁ。因みに元ネタはCROSS†CHANNELという18禁ゲームらしい。

ActionScript 3.0を使ってみた - ShootNumbers

ActionScript 3.0によるシンプルなFlashゲーム、 ShootNumbers を作ってみた。落ちてくる数字をすばやくマウスクリックで消していく。消した数字がそのまま得点になる。BGMが終了するまでにできるだけ多くの得点を挙げることが目的だ。因みにFlashを利用しているが制作するために必要なツールはすべて無料だ。 今年になって Adobe Flash CS3 Professional がリリースされ、搭載されているプログラミング言語ActionScriptがバージョン3.0になった(Flexでは昨年)。前々からFlashには興味はあったのだが、如何せん価格が高い。アドビストアでは、通常価格で88,000円、アカデミック価格で33,600円もする。1ヶ月だけ使えるお試し版もあるが、ある程度時間が取れるときでないとほとんど使わずじまいになる可能性が高い。そこで、 Flex 2 SDK を利用してみることにした。これはFlex Builder 2のコア部分のみを利用でき、オーサリングツールなどはついておらず、純粋にActionScript 3.0(およびMXML)のコンパイルのみが行える。それでもずっと無料で使えるのでActionScript 3.0を試しに使ってみるには最適だろう。 ActionScriptを使うのはほぼ初めてなので、まず、 Flashリソース や Flexドキュメンテーション などを読み漁ってみた。C++やJavaなどのオブジェクト指向プログラム言語をある程度理解していれば問題なさそうだ。実際、すぐにプログラムを書き始めても何とかなった。マニュアルを読みつつ作った ShootNumbers も一日もかからず仕上げられたし。因みに、PDFによるドキュメントではすべてを網羅したリファレンス的なマニュアルは用意されていないようだったので、ウェブによる ActionScript 3.0 コンポーネントリファレンスガイド も多用した。 ShootNumbers を作った際に感じたのは、マルチメディア系の素材の扱いが非常に楽ということだ。サウンド、画像、動画、等々。また、タイマーやキーボード・マウスなどの処理はすべてイベントドリブン方式だ。今回のプログラムでは、主にサウンドとタイマーについてActionScript 3.0の威力を実感...