WCAN mini ActionScript Vol.4 しゃべる人募集
1/26(土)くらいにVol.4やりたいので、しゃべりたい人募集
場所はもちろん名古屋です。
私に連絡とれる方法で連絡ください。
メールは lllkoballl at gmail.com
内容はActionScriptとか関係ありそうだったら何でもおっけーです。
みなさんぜひ。
名古屋(東海地方)の人は頑張って発表してください。
それ以外の人も発表お待ちしてます。
« 2007年12月 | メイン | 2008年02月 »
1/26(土)くらいにVol.4やりたいので、しゃべりたい人募集
場所はもちろん名古屋です。
私に連絡とれる方法で連絡ください。
メールは lllkoballl at gmail.com
内容はActionScriptとか関係ありそうだったら何でもおっけーです。
みなさんぜひ。
名古屋(東海地方)の人は頑張って発表してください。
それ以外の人も発表お待ちしてます。
package {
import flash.display.*;
import flash.events.*;
import Box2D.Dynamics.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.Math.*;
public class Box2DSample01 extends MovieClip {
private var m_world:b2World;
private var m_iterations:int = 10;
private var m_timeStep:Number = 1/30;
public function Box2DSample01() {
addEventListener(Event.ENTER_FRAME, update);
stage.addEventListener(MouseEvent.CLICK, createBox);
var worldAABB:b2AABB = new b2AABB();
worldAABB.minVertex.Set(-1000.0, -100.0);
worldAABB.maxVertex.Set(1000.0, 1000.0);
var gravity:b2Vec2 = new b2Vec2(0.0, 300.0);
var doSleep:Boolean = true;
m_world = new b2World(worldAABB, gravity, doSleep);
createGround();
}
private function createGround():void {
var bodyDef:b2BodyDef;
var boxDef:b2BoxDef;
bodyDef = new b2BodyDef();
boxDef = new b2BoxDef();
boxDef.extents.Set(1000, 100);
boxDef.friction = 0.3;
bodyDef.position.Set(0, 380);
bodyDef.AddShape(boxDef);
bodyDef.userData = new ground();
bodyDef.userData.width = boxDef.extents.x * 2;
bodyDef.userData.height = boxDef.extents.y * 2;
addChild(bodyDef.userData);
m_world.CreateBody(bodyDef);
}
private function createBox(e:MouseEvent):void {
var bodyDef:b2BodyDef;
var boxDef:b2BoxDef;
bodyDef = new b2BodyDef();
boxDef = new b2BoxDef();
boxDef.extents.Set(15, 15);
boxDef.density = 1.0;
boxDef.friction = 0.5;
boxDef.restitution = 0.2;
bodyDef.AddShape(boxDef);
bodyDef.userData = new box();
bodyDef.userData.width = boxDef.extents.x * 2;
bodyDef.userData.height = boxDef.extents.y * 2;
bodyDef.position.x = stage.mouseX;
bodyDef.position.y = stage.mouseY;
bodyDef.rotation = Math.random() * Math.PI / 8;
m_world.CreateBody(bodyDef);
addChild(bodyDef.userData);
}
private function update(e:Event):void {
m_world.Step(m_timeStep, m_iterations);
for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next) {
if (bb.m_userData is Sprite) {
bb.m_userData.x = bb.m_position.x;
bb.m_userData.y = bb.m_position.y;
bb.m_userData.rotation = bb.m_rotation * (180/Math.PI);
}
}
}
}
}
WCAN [ Web Creators Association Nagoya ] WCAN mini ActionScript Vol.4
http://www.wcan.jp/index.php?ID=147
申し込み開始しました。
私はBox2DFlashAS3でなんかやるよていです。
『ActionScript やっとかめ!』1月26日(土)にActionScriptの勉強会を開催します。今年も頑張っていきたいと思っていますので、よろしくお願いします。今のところ以下の7名の方にスピーカーをお願いしています。
どういった内容の話をしていただくか調整中です。ブログなどを参考にしていただけるとありがたいです。参加費用のかかる勉強会で大変申し訳ありませんが、よろしくお願いします。決まり次第更新していきます。
やっとかめって
八十日目と書いて「やっとかめ」と読む。
80日ぶりに会ったこと、転じて久しぶりだという意味
どうやらキャンセルが出たみたいで、ちょっと席が空きました。
明日だけどよかったら参加してください。
WCAN [ Web Creators Association Nagoya ] WCAN mini ActionScript Vol.4
http://www.wcan.jp/index.php?ID=147
WCAN mini ASで発表してきた
資料はこちら
swfクリックして矢印キーの右左で進みます。
資料のソースダウンロード(ぐちゃぐちゃですw)
http://un-q.net/2008/01/28/swf/wcan_mini_as_4_src.zip
WCAN mini AS Vol.4 ピストっぽいサンプル Box2dFlashAS3 (Unknown Quality)
http://un-q.net/2008/01/wcan_mini_as_box2dflashas3.html
WCAN mini AS Vol.4 ギアのとこサンプル Box2dFlashAS3 (Unknown Quality)
http://un-q.net/2008/01/wcan_mini_as_box2dflashas3_13.html
WCAN mini AS Vol.4 チェーンのとこサンプル Box2dFlashAS3 (Unknown Quality)
http://un-q.net/2008/01/wcan_mini_as_box2dflashas_14.html
WCAN mini AS Vol.4 ピンボールっぽいサンプル Box2dFlashAS3 (Unknown Quality)
http://un-q.net/2008/01/wcan_mini_as_box2dflashas3_15.html
WCAN mini ActionScript Vol.4 で発表したやつ Box2DFlashAS3 (Unknown Quality)
http://un-q.net/2008/01/wcan_mini_actionscript_vol4_bo.html
WCAN mini AS vol.4で発表した 自転車のギアとチェーンっぽいのも
重いから続きへ移動
↓
var bd:b2BodyDef = new b2BodyDef(); var t:b2PolyDef = new b2PolyDef(); t.vertexCount = 3; t.vertices[0].Set(0,0); t.vertices[1].Set(40,0); t.vertices[2].Set(0,40); t.density = 1; t.friction = 0.5; t.restitution = 0.3; bd.AddShape(t); bd.position.x = stage.mouseX/m_physScale; bd.position.y = stage.mouseY/m_physScale; bd.rotation = Math.random() * Math.PI / 8; m_world.CreateBody(bd);
var bd:b2BodyDef = new b2BodyDef();
var t:b2PolyDef = new b2PolyDef();
t.vertexCount = 8;
var hoge:Number = Math.PI*2 / 8;
var r:Number = 20;
for (var i:int = 0; i<8; i++) {
// r = (i % 2 == 0)? 20 : 10; // アンコメントで星っぽいヤツ
t.vertices[i].Set(Math.cos(hoge*i)*r, Math.sin(hoge*i)*r);
}
t.density = 1;
t.friction = 0.5;
t.restitution = 0.3;
bd.AddShape(t);
bd.position.x = stage.mouseX/m_physScale;
bd.position.y = stage.mouseY/m_physScale;
m_world.CreateBody(bd);
static public const b2_maxPolyVertices:int = 8;って書いてある><
// localPosition使えばもっとすっきりするんじゃね
var bd:b2BodyDef = new b2BodyDef();
var t1:b2PolyDef = new b2PolyDef();
var t2:b2PolyDef = new b2PolyDef();
var t3:b2PolyDef = new b2PolyDef();
var t4:b2PolyDef = new b2PolyDef();
t1.vertexCount = 3;
t2.vertexCount = 3;
t3.vertexCount = 3;
t4.vertexCount = 3;
var hoge:Number = Math.PI*2 / 8;
var r:Number = 20;
var a:Array = new Array();
for (var i:int = 0; i<8; i++) {
r = (i % 2 == 0)? 20 : 10;
a.push({x:Math.cos(hoge*i)*r, y:Math.sin(hoge*i)*r});
}
t1.vertices[0].Set(a[7].x, a[7].y);
t1.vertices[1].Set(a[0].x, a[0].y);
t1.vertices[2].Set(a[1].x, a[1].y);
t2.vertices[0].Set(a[1].x, a[1].y);
t2.vertices[1].Set(a[2].x, a[2].y);
t2.vertices[2].Set(a[3].x, a[3].y);
t3.vertices[0].Set(a[3].x, a[3].y);
t3.vertices[1].Set(a[4].x, a[4].y);
t3.vertices[2].Set(a[5].x, a[5].y);
t4.vertices[0].Set(a[5].x, a[5].y);
t4.vertices[1].Set(a[6].x, a[6].y);
t4.vertices[2].Set(a[7].x, a[7].y);
t1.density = t2.density = t3.density = t4.density = 1;
t1.friction = t2.friction = t3.friction = t4.friction = 0.5;
t1.restitution = t2.restitution = t3.restitution = t4.restitution = 0.3;
bd.AddShape(t1);
bd.AddShape(t2);
bd.AddShape(t3);
bd.AddShape(t4);
bd.position.x = stage.mouseX/m_physScale;
bd.position.y = stage.mouseY/m_physScale;
//bd.rotation = Math.random() * Math.PI / 8;
m_world.CreateBody(bd);
本の記事を書かせていただきました。
記事を書くのは始めてだったので読み返すのが怖いですw
Amazon.co.jp: 1ランク上の技を身につけるFlashの強化書

ちなみに「しゃべったー」の解説を行ってたと思います。
m_world.m_gravity.Set(r(-20,20), r(-20,20));
function r (max, min) {
return Math.floor(Math.random()*(max-min+1))+min;
}