miniapp
Spark project 勉強会 #01に行ってきました。
Spark project 勉強会 #01行ってきました。
とても濃い内容のスーパー勉強会でした。こういうの待ってました!
食い入って見てましたよ。
ほとんどの方がノートPC持参。
そしてMac率高い。
僕はノート持って無くてペンとノート(紙)。
やっぱノート(PC)欲しい。
既にminacoさんが、まとめを書かれています。
MinaLoぐぅぅ» Blog Archive » SparkProjectの勉強会
ぼくはyossyさんのActionScript Thread Library 1.0 (そうめん)の発表から書こうと思います。
1. ActionScript Thread Library 1.0 (そうめん) by yossy:BeInteractiveさん
既に有名なそうめん。
javaのスレッドを擬似的に再現しているそうで、その為、結城浩さんの『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』で紹介されているデザインパターンが使えるそうです。
とうわけで昨日帰ってから早速アマゾンで注文しました。もう届きました。すごい速さだアマゾン…。
早速そうめんでASスレッド入門しようと思う。
発表資料がUPされていますね。
BeInteractive! [Spark project 勉強会 #01 ありがとうございました]
2. GeniusFramework by seagirlさん
Flex用フレームワーク。ターミナルからコマンドを打って、必要なディレクトリ、ファイル群を一発生成。
Windowsで使うにはCygwinなどのアプリケーションが必要とのこと。
似たようなフレームワークとしてCairngorm(けあんごーむ) – Adobe Labsというのがあるそうだ。しかし、複雑で分かりにくい為、GeniusFrameworkの開発に至ったとのこと。
■2008/07/25 20:42追記 発表資料がseagirlさんのBlogにUPされています。
Spark project 勉強会 #1 – yoshizu@S2F
3. Frocessing by NUTSUさん
ProcessingのAS3版(SparkProjectの方には「あくまでライクです。移植ではなくリファレンス実装なので〜」と書かれていますね。)
Processingらしいウネウネしたライン描画とか、RADIOHEADのGoogleCodeにあがってるアレとか動かしてらっしゃった。Blogで既にUPされていた物とはちょっと違っていたかな? 口元が動いていたような。
懇親会で教えてもらったのですが、公開されているProcessingのサンプルもAS3の書き方に直す(変数宣言の部分とか)だけで、そのまま動かす事が可能とのこと。ただ、flight404の人の様なProcessingの達人な方は、ほとんどProcessingでは無くなっているそうで、直接OpenGLを操作していたりするそうだ。
4. Flash Player Mental Model by arkwさん
1フレームの中でどのような処理が行われているかの話。
ENTER_FRAMEとTimer、マウスイベントを使ったサンプルを動かし説明されていた。
まだ良く理解できていないので、arkwさんのエントリを読んで理解する。
5. sazameki by zk33さん
オーディオ操作ライブラリ。サウンドを動的に生成したり、エフェクトを付けたり。
単音にディレイをかけてロックマンのやられたときの音(ティウンティウン)を作ってらした。
FlashPlayer10 beta2がインストールされていれば、最後に発表されたリズムマシン?のデモがzk33さんの発表記事から体験できます。
2008/07/24 記事訂正しました。 デモswfファイルへの直リンクをしていましたが、不適切と感じたのでリンク先を変更しました。すみません。
これで簡単な曲を作ってらっしゃった。リズムがだんだん曲になっていく様子はやっぱ楽しい。
これには会場が沸きました。
デモではスイングも実装されてた。デモの右下にあるボタンで調整されてたかな?? 以下はスイングの参考リンク(いいのが見つからなかった。ちょっと違うかも)。
DTMでのグルーヴ設定方法(swing)
発表資料がご本人のBlogにUPされています。
Spark project勉強会#1で発表してきましたよ – zk_diary
6. 昨今の(X)HTMLに準拠したswfの埋め込みについて(embedタグ使わないとか、swfobject 2とか) by ksakaiさん
swfをHTMLに埋め込む際の注意点。
embedは今後廃止の方向。
safariでのHTMLからの変数の受け渡しなど。
DreamWeaver CS4ではswfObjectを使ったHTMLが書き出されていた。←ここはうろ覚えです、すみません…。)
そのほか
拡張子のswfって、「すぅいふ」って読むんですね。
Adobeの方も発表者の方も、皆さん、この読み方だったので間違いない。きっと。
今まで「えすだぶりゅえふ」って読んでました。
Shockwave Flashの略だと思うんですがどうなんでしょう。
というわけで、とても充実した勉強会でした。
お疲れ様でした。そして有り難うございました。
僕も発表できるよう頑張ろ。超頑張ろ。
- Comments: 0
- Trackbacks: 1
昔作った曲
- 2008-07-18 (金)
- music
5年ほど前まで趣味で曲を作っていたのですが、 その当時作った曲をUPしようと思います。
テクノです。
今から10年以上前、ハードミニマル全盛期に夢中になりました。
なのでその頃の影響を強く受けた曲になってます。
でも最近はめっきり音楽に疎くなってます…。
track1.mp3
track2.mp3
track3.mp3
track4.mp3
track5.mp3
testLoop.mp3
ASR-Xというサンプラー(+シンセ)と、Cubase3を使って作成しました。おそろしくアナログな作り方していました。
当時、作り方とか全く分からず、Webで色々検索とかしているうちに、
Webに興味を持ってこの業界入ったのでした。
- Comments: 0
- Trackbacks: 0
ruby script/serverでエラー
- 2008-07-16 (水)
- rails
RailsによるアジャイルWebアプリケーション開発 第2版、30ページ。
ruby script/server
ってやったら
./script/../config/boot.rb:29: undefined method `require_gem' for main:Object (NoMethodError)
from script/server:2:in `require'
from script/server:2
ってエラー出ちゃって進めない。
調べると下記ページが出た。
Ruby on Rails/Rails 2.0.2にアップグレード – ARK-Web SandBox Wiki
ここの
参考) Rails/Gem errors? - Ruby Forum 参考サイトにあるように、gem pristine --allを実行してみた
を実行。
そして、
書籍29ページの
rails demo
からもう一度やり直し。
動いた。
難しい。Rubyやってみて分かったけど、Flashの親切さに気付いた。
開発環境が整ってたり。Flashの方が、初心者が迷いにくいんじゃないかな〜。
非プログラマには環境設定とか難しい…。
エラーが出ても何所が原因なのか掴めない。
がんばろう。
- Comments: 0
- Trackbacks: 0
Flash OOP for AS3の本で
- 2008-07-16 (水)
- flash
昔、少しだけ書いて、現在は放置してしまっているblogがあるんですが、
そこに書いた下記のjsflがFlash OOP for AS3の109ページで取り上げてもらってました。
座標の小数点以下を四捨五入するjsfl作った by 9server.net
すごくビックリ&興奮。目を疑ったわ。
なんてこと無いjsflなんですが、宜しければお使い下さい。
他にも四捨五入するjsflはあったと思うのですが、僕のを選んでくださった
執筆者のnagggさん、ありがとうございます!
なんで放置しちゃったかと言うと、
最初が数字だとパッケージ名として使えないことに気付いたからです。
だから最初が数字で始まるドメインって取りやすかったんだ〜と納得。
昔のブログ書き始めたときは、そんなことも知りませんでした。
_parentするならSingletonのお話2とか書いたけど、
今見ると良くない例っぽいのでどうしよう。他のも。
動いちゃうからタチが悪いんだな。
- Comments: 0
- Trackbacks: 0
ActionScript3.0アニメーション読み終えた
やっとです。
噂に違わぬいい本だった。
パーティクル、キネマティクスの章が特に面白かった。
最後の章で行列とかを少し突っ込んで解説してるけど、
あそこは良くわからないかも。専門書読んだ方が分かりやすい。
三角関数まではそこそこ解説するけど、それより複雑な箇所は
本の範疇から外れるから公式丸暗記で、というスタイル。
気になる部分は専門書読んで掘り下げてみよっと。
覚えたテクニック使って何かサンプル作ってみないとね。
- Comments: 0
- Trackbacks: 0
扁桃腺が腫れた
- 2008-07-14 (月)
- 日記
扁桃腺が腫れて1週間ほど潰れてしまった…。
今年入って2回目。喉が腫れて凄く痛くなる。熱も凄く出る。
なんかヤバイのかもしれません。
あんまり腫れる人は手術して扁桃腺を取っちゃうらしい。
良くなるなら僕も取りたいんだけどな〜。
全身麻酔だって。怖い。
- Comments: 0
- Trackbacks: 0
Flexビルダーにスニペット無い
Flexビルダーにスニペットとかテンプレートって無いんだ。
ショック。あるものだと思っていた。
Eclipseの機能の一部だと思ってたら違うんだ。
JDT(Javaエディタ)ではテンプレート使えるし、アクセサメソッドの自動生成も、もちろんある。
色々ショックだなぁ。FlashDevelopに戻ろうか考え中。
Eclipse MonkeyというEclipseのpluginで実現可能なようです。
アクセサメソッドの自動生成もできるみたい。
【参考URL】
enhance Flex Builder – Rest Term
enhance Flex Builder – part 2 – Rest Term
コードフォーマットはこちら。
mxmlとasのソースコードフォーマットをするplugin Flex Formatter:nod::ぶろぐ:RIA::Flex/AIR/Flash
- Comments: 0
- Trackbacks: 0
ActionScript3.0アニメーション
なんだか全くFlashを触っていなくて不安になったので、途中になっていたActionScript 3.0 アニメーションをやっています。
まだまだ途中ですが、この本のChapter8でこういうのが出来ました。本では3つのボールをバネで繋いでますが、何個でも増やせるようにしました。増やしすぎると訳が分からなくなりますが…。
黒いボールはドラッグ出来ます。
バネ運動をやっているのですが、綾取りみたいになって面白い。
やっぱこの本凄い。基本的なところから徐々にレベルアップしていって、無理なく覚えられる。
全部一気に詰め込むのでなくて、細かい部品の作り方を徹底的に教えてくれて、あとでそれを組み立てて大きい面白い物を作ろう、ってかんじ。
欠点は大きくて分厚くて持ち運びに向かないこと。結構余白が残っている印象で、文字も小さくすればかなりコンパクトになると思うけど、見やすさの為しょうがないですね。
ここから先が楽しみ。
今までFlashDevelopでやっていけど、今回はFlexを使った。補完はFlashDevelopの方が使いやすいな。ガンガン補完してくれるんだもん。でもFlexは逐一文法エラーだとかを教えてくれる。
かなりうっかり者の僕にはありがたい。つまらないミスに気付かず何時間もハマルってのが減るかも?
それとリファクタリング機能がやはり便利。これはFlashDevelopには無い。そのうち実装される予定らしい?
一応コードを載せます。
まず、本の至る所で使うBall.as。サンプルのまんま。
package {
import flash.display.Sprite;
public class Ball extends Sprite {
public var radius:Number;
private var color:uint;
public var vx:Number = 0;
public var vy:Number = 0;
public function Ball(radius:Number=40, color:uint=0xff0000) {
this.radius = radius;
this.color = color;
init();
}
public function init():void {
graphics.beginFill(color);
graphics.drawCircle(0, 0, radius);
graphics.endFill();
}
}
}
次に、今回用に拡張したBallクラス。
package
{
public class CustomBall extends Ball
{
public function CustomBall(radius:Number=40, color:uint=0x000000)
{
super(radius, color);
}
private var _isDragging:Boolean = false;
private var _id:uint;
public function get isDragging():Boolean{return _isDragging;}
public function set isDragging(value:Boolean):void
{
_isDragging = value;
}
public function get id():uint{return _id;}
public function set id(value:uint):void
{
_id = value;
}
}
}
最後にメインとなるクラス。
コメントにも書いたけど、macのfirefoxだとstage.stageWidth、stage.stageHeightが0になる。
なんでだ。それとmacのブラウザで見るとCPUを喰ってる。parallels上のwinows版Firefoxは全然CPUを喰わないし、ローカルでの速さとほぼ同じ。なんでなんだ。
package
{
import flash.display.Sprite;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
public class SpringTest extends Sprite
{
public function SpringTest()
{
init();
}
private var balls:Array/* of CustumBall */;
private var ballNum:int = 5;
private var friction:Number = 0.95;
private var spring:Number = 0.05;
private var springLength:Number = 100;
private function init():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
balls = [];
for(var i:uint = 0; i < ballNum; i++)
{
var ball:CustomBall = new CustomBall(20);
ball.id = i;//動作確認用
//trueにすると多少軽くなる?が、エッジが欠ける
//ball.cacheAsBitmap = true;
ball.addEventListener(MouseEvent.MOUSE_DOWN, onBallMouseDown);
ball.addEventListener(MouseEvent.MOUSE_UP, onBallMouseUp);
//mac firefoxだとstage.stageWidth、stage.stageHeightが0になる
//ball.x = Math.random() * stage.stageWidth;
//ball.y = Math.random() * stage.stageHeight;
var STAGE_SIZE:uint = 600;
ball.x = Math.random() * STAGE_SIZE;
ball.y = Math.random() * STAGE_SIZE;
balls.push(ball);
addChild(ball);
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void
{
for(var i:uint = 0; i < ballNum; i++)
{
var ball:CustomBall = CustomBall(balls[i]);
if(!ball.isDragging)
{
for(var j:uint = 0; j < ballNum; j++)
{
var objectivePointBall:CustomBall = CustomBall(balls[j]);
//自分以外のボールに対して位置を調整する
if( objectivePointBall != ball)
springTo(ball, objectivePointBall);
}
}
}
//ラインを引く
graphics.clear();
graphics.lineStyle(1, 0x000000);
graphics.moveTo(CustomBall(balls[0]).x, CustomBall(balls[0]).y);
for(var i:uint = 1; i < ballNum; i++)
{
graphics.lineTo(CustomBall(balls[i]).x, CustomBall(balls[i]).y);
}
graphics.lineTo(CustomBall(balls[0]).x, CustomBall(balls[0]).y);
}
private function onBallMouseDown(e:MouseEvent):void
{
var ball:CustomBall = CustomBall(e.target);
ball.startDrag();
ball.isDragging = true;
}
private function onBallMouseUp(e:MouseEvent):void
{
var ball:CustomBall = CustomBall(e.target);
ball.stopDrag();
ball.isDragging = false;
}
/**
* バネ運動の処理
* @param ball 動かす対象のボール
* @param objectivePointBall 目標位置とするボール
*
*/
private function springTo(ball:CustomBall, objectivePointBall:CustomBall):void
{
var angle:Number = Math.atan2(objectivePointBall.y - ball.y, objectivePointBall.x - ball.x);
var targetX:Number = objectivePointBall.x - Math.cos(angle) * springLength;
var targetY:Number = objectivePointBall.y - Math.sin(angle) * springLength;
ball.vx += (targetX - ball.x) * spring;
ball.vy += (targetY - ball.y) * spring;
ball.x += (ball.vx *= friction);
ball.y += (ball.vy *= friction);
}
}
}
- Comments: 0
- Trackbacks: 0
トルコ料理屋でかかっている音楽
シン石丸の電脳芸事ニッキ: トルコ料理屋でかかってる、あのイカス曲は何て曲!!??
似たような曲を知っていたので書いてみます。
コメント欄に書けばいいのですが、トラックバックを打ってみたかったので…。長くなってしまいますし。
もしかして、BasementJaxxのTake Me Back To Your Houseという曲かも?
下記URLで試聴できます。4曲目です。
ベースメント・ジャックス「クレイジー・イッチ・ラジオ」 – Crazy Itch Radio / Basement Jaxx ベガーズ・ジャパン – Beggars Japan
BasementJaxxはトルコっぽい、というかインドっぽい、というか、ムトゥ踊るマハラジャっぽい曲が他のアルバムにもあって、下記のアルバムにもしかしたら入っているかもしれません。
5曲目のJUS 1 Kissも怪しいと思う…。これはあまりトルコっぽくないけど。
ベースメント・ジャックス「ルーティー」 – Rooty / Basement Jaxx ベガーズ・ジャパン – Beggars Japan
- Comments: 2
- Trackbacks: 0
