最近打算自己整一個 ScrollPane
用了 Event.ADDED & Event.REMOVED 來計算最新的高度
在 ScrollPane中, 有 MovieClip 的物件
當我在 MovieClip 上使用 gotoAndStop(2), 發現了會 dispatch Added & Removed Event
一陣子研究之下, 發現原來 當 MovieClip change frame 時 timeline frame 入面的東西
也會不斷 add & remove
範例:
Source
2010年1月16日 星期六
Away3D Texture Mapping Learning
與 Papervision3D 完全不同的寫法, 不過一樣簡單
Away3D 如要使用 Texture Mapping 就要使用 TransformBitmapMaterial
e.g.
"repeat" 屬性就相等於 "tile"
scaleX & scaleY 就相等於 mapping 的UV比例
可以看看以下範例:
Source
Away3D 如要使用 Texture Mapping 就要使用 TransformBitmapMaterial
e.g.
material = new TransformBitmapMaterial(Cast.bitmap(headBmp), { repeat:true, scaleX:.5, scaleY:.5 } );
"repeat" 屬性就相等於 "tile"
scaleX & scaleY 就相等於 mapping 的UV比例
可以看看以下範例:
Source
2010年1月9日 星期六
embed swf 網頁置中問題
相信大多數人都會使用 javascript 的 swfobject.js 去 embed swf
不過要做到上下左右置正中間, 發現有點難道
橫向置中沒有問題, 不過直向置中就搞不到
問題就是 embed swf 是來自 javascript 加入 div
所以要解決問題, 都要用 javascript
以下是個解決方法:
if (window.addEventListener) {
window.addEventListener("resize", windowResizeHandler, true);
window.addEventListener("load", windowResizeHandler, true);
}
else if (window.attachEvent) {
window.attachEvent("onresize", windowResizeHandler);
window.attachEvent("onload", windowResizeHandler);
}
function windowResizeHandler(event) {
var myWidth = document.body.clientWidth;
var myHeight = document.body.clientHeight;
if (myWidth > 970) {
document.getElementById("container").style.left = Math.round((myWidth - 970) * .5) + "px";
}
if (myHeight > 625) {
document.getElementById("container").style.top = Math.round((myHeight - 625) * .5) + "px";
}
}
不過要做到上下左右置正中間, 發現有點難道
橫向置中沒有問題, 不過直向置中就搞不到
問題就是 embed swf 是來自 javascript 加入 div
所以要解決問題, 都要用 javascript
以下是個解決方法:
if (window.addEventListener) {
window.addEventListener("resize", windowResizeHandler, true);
window.addEventListener("load", windowResizeHandler, true);
}
else if (window.attachEvent) {
window.attachEvent("onresize", windowResizeHandler);
window.attachEvent("onload", windowResizeHandler);
}
function windowResizeHandler(event) {
var myWidth = document.body.clientWidth;
var myHeight = document.body.clientHeight;
if (myWidth > 970) {
document.getElementById("container").style.left = Math.round((myWidth - 970) * .5) + "px";
}
if (myHeight > 625) {
document.getElementById("container").style.top = Math.round((myHeight - 625) * .5) + "px";
}
}
2010年1月6日 星期三
Flash Player 10.1 on Google's Nexus One Phone
Flash Player 10.1 終於可以在手機面世
AS3不斷向手機市場出發,
開發易了~寫手機遊戲也變得輕鬆
AS3不斷向手機市場出發,
開發易了~寫手機遊戲也變得輕鬆
2010年1月5日 星期二
Flash Player 10.1 Beta AS3 Microphone Record and Play
遲了的測試~
雖然 FP10.1 還在Beta當中, 要開Browser做Testing
做了以下一個幾有趣的一個 Demo
需要預備: Flash Player 10.1 & Microphone
1. 首先~Click "Start Record" 開始錄音
2. 錄下一秒左右的單音~之後 Click "Stop Record & Play"
3. 就會播放一段短歌曲 (由錄下來的聲音唱出的)
Source
要成功執行需要下載兩個 Library source code
1. minimalcomps
2. SiON Sound Driver
雖然 FP10.1 還在Beta當中, 要開Browser做Testing
做了以下一個幾有趣的一個 Demo
需要預備: Flash Player 10.1 & Microphone
1. 首先~Click "Start Record" 開始錄音
2. 錄下一秒左右的單音~之後 Click "Stop Record & Play"
3. 就會播放一段短歌曲 (由錄下來的聲音唱出的)
Source
要成功執行需要下載兩個 Library source code
1. minimalcomps
2. SiON Sound Driver
2010年1月1日 星期五
2010虎年快樂!!!
送個Effect給大家, 點點Pixel砌出來的中文字
Source
//首先創造一個文字
var tf:TextField = new TextField();
tf.text = "Hello World";
//之後再打散成BitmapData
var bd:BitmapData = new BitmapData(tf.width, tf.height, false, 0xF2D8FF);
bd.draw(tf);
//每一點進行運算
for (var i:int = 0; i < bd.width; i++)
{
for (var j:int = 0; j < bd.height; j++)
{
// 創造任何東西都可以啦
}
}
Source
訂閱:
文章 (Atom)