2010年7月26日 星期一

HTC Desire 的雙向錄音功能的點殘缺

用一陣子,才想到要錄音的功能,所以在Market 找了兩三套來試,都有想同的問題,就是另一方通話的聲音太小了,在想不會那麼巧吧!,所以在網站爬了一下。原來問題在 Android 不知道Google 什麼會改善。

http://mortlemania.wordpress.com/2010/06/10/call-recording-crippled-on-android-fix-this-now-google/

http://code.google.com/p/android/issues/detail?id=2117#c180

Fly Mosquito 模擬像蚊子浮動的效果

Fly Mosquito 模擬像蚊子浮動的效果




//主程式


package {

import flash.display.*;
import flash.media.*;
import flash.events.*;

import webco.*;


public class MainTest extends Sprite {

public function MainTest() {

var num=5;
var msq;
var aMS= new Array();
for (var i=0; i<=num; i++) {

msq = new Mosquito();
msq.x=randomNumber(0,stage.stageWidth-50);
msq.y=randomNumber(0,stage.stageHeight-50);
//trace(msq);
addChild(msq);
msq.addEventListener(MouseEvent.CLICK ,onClick);

aMS.push(new MosquitoSimulator(msq));
trace(i);
}

var sound:Sound = new MosquitoSound();
sound.play();

}


function onClick(e:Event) {
var sound:Sound = new MosquitoSound();
sound.play();
}


function randomNumber(low:Number=NaN, high:Number=NaN):Number {
var low:Number=low;
var high:Number=high;

if (isNaN(low)) {
throw new Error("low must be defined");
}
if (isNaN(high)) {
throw new Error("high must be defined");
}

return Math.round(Math.random() * (high - low)) + low;
}

}

}




//模擬程式

package webco{

import flash.display.*;
import flash.events.*;
import flash.geom.Point;
import flash.media.*;


import caurina.transitions.Tweener;

public class MosquitoSimulator {

var initX;
var initY;
var dX=50;
var dY=50;
var simular:*;

public function MosquitoSimulator(obj:Sprite) {

this.simular=obj;

initX=simular.x;
initY=simular.y;

this.simular.addEventListener(MouseEvent.MOUSE_OVER,onOver);
this.simular.addEventListener(MouseEvent.MOUSE_OUT,onOut);

setFloat();

}

function onOver(e:Event) {
   var clickPoint:Point = new Point(simular.mouseX, simular.mouseY);
clickPoint = simular.localToGlobal(clickPoint)
simular.buttonMode = true;

var nx =  clickPoint.x-simular.width/2;
var ny =  clickPoint.y-simular.height/2;
Tweener.removeTweens(this.simular);
Tweener.addTween(this.simular, {x:nx, y:ny, delay:0, time:0.5, transition:"easeInOutQuart"} );

}

function onOut(e:Event) {
setFloat();
}

function setFloat() {
var nx=randomNumber(initX,initX-dX);
var ny=randomNumber(initY,initY-dY);
var delay =randomNumber(0,2);
//trace("setFloat",nx, ny);
Tweener.addTween(this.simular, {x:nx, y:ny, delay:delay, time:2, transition:"easeInOutQuart",onComplete:setFloatHandle} );

}

function setFloatHandle() {
//var nx=randomNumber(initX,);
//var ny=randomNumber(3,7);
//trace("setFloatHandle",initX, initY);
Tweener.addTween(this.simular, {x:initX, y:initY, time:1, delay:0, transition:"easeInOutQuart", onComplete:setFloat} );
}

function randomNumber(low:Number=NaN, high:Number=NaN):Number {
var low:Number=low;
var high:Number=high;

if (isNaN(low)) {
throw new Error("low must be defined");
}
if (isNaN(high)) {
throw new Error("high must be defined");
}

//return Math.round(Math.random() * (high - low)) + low;

return (Math.random() * (high - low)) + low;
}


}// end class


}



下載

http://tmp.webco.tw/flash/mosquito/mosquito.swf

2010年7月22日 星期四

AS3 Singleton Pattern

為了確保類別的實體化不會有第二次,不論系統內何處實體化都是相同的物件,可以用來當做全域變數的實體物件




SingletonTest.as


package
{
import flash.display.Sprite;
public class SingletonTest extends Sprite
{
public function SingletonTest()
{
var initialSingleton:Singleton = Singleton.getInstance();
var subsequentSingleton:Singleton = Singleton.getInstance();
}
}
}



Singleton.as

package
{
public class Singleton
{
private static var _instance:Singleton;
public function Singleton(pvt:PrivateClass) {
}
public static function getInstance():Singleton
{
if(Singleton._instance == null)
{
Singleton._instance=new Singleton(new PrivateClass());
trace("Singleton instantiated");
}
else
{
trace("Sorry--already have a Singleton instantiated")
}
return Singleton._instance;
}
}
}

class PrivateClass
{
public function PrivateClass() {
trace("Private class is up");
}
}

2010年7月20日 星期二

建立文字盒 TextField




import flash.text.*;



var label1:TextField ;



label1 = createCustomTextField(100, 500, 400, 20);
label1.text = "Webco.TW";





private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField {


var result:TextField = new TextField();
        result.x = x; result.y = y;
        result.width = width; result.height = height;
        addChild(result);

var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
result.defaultTextFormat = my_fmt;
  
        return result;
}

2010年7月16日 星期五

阿建的筆記: Away3D 雙面貼圖

阿建的筆記: Away3D 雙面貼圖: "Away3D 雙面貼圖 http://tmp.webco.tw/flash/sphereMapping/sphereMap.swf 產生PNG格式的透明圖片 做為貼圖 AS3 的程式碼 package { import f..."

阿建的筆記: Flash 載入 3D Object

阿建的筆記: Flash 載入 3D Object: "Flash 載入 3D  Object package { import away3d.cameras.Camera3D; import away3d.containers.*; import away3d.core.math.Nu..."

NOKY英語單字學習網站使用方法




  1. 請在進入本網頁www.noky.tw後,先註冊,以利個人學習記錄;選擇國小、國中、高中課程!並打開喇叭或戴上耳機。
  2. 建議從國小課程之各階段開始,如此可復習並增加耳語聽力習慣!
  3. 點選進入國小課程,並從初級選項開始!
  4. 進入初級選項後,點選藍色顯示項目「馬上練習」。每日選擇一項即可,把該項之三十個單字(每一項目量皆同)嚐試過後即可休息,很輕鬆吧^^,如此日日練習即可見功效。
  5. 練習時,請跟著外籍女士所錄製的純正語音發音,念出來之後,再選擇該單字的正確意思。如此,可加強印象並校正口語腔調。養成習慣,出國不亂!^^