2012/3/20

Draw Something 必勝攻略

在此公布 Draw Something 的必勝法

我連圖片都不用看 就能猜到答案了


為什麼呢?

我們在猜題的時候,畫面下方可以看到12個候選字母

此時把12個候選字母記下來

然後重開遊戲再進入猜題

候選字母會跟上次不同,但是正確的字母每次都會出現

所以沒出現的字母就可以排除了


必勝法總共兩個步驟

1. 不斷重開遊戲 收集正確的字母 正確的字母數量會和填空數量相同

2. 把正確的字母輸入到 http://www.scrabblefinder.com/

即可直接取得答案


一般來說重開1~2次就可以知道答案了

2012/3/16

Flash TextField Font Size Limit

Flash 的動態文字字型大小限制在 127 以下

以下實驗證明 flash 的動態文字字型大小是受限的
我用程式產生字型大小 116 ~ 130 的 TextField 並作滑鼠感應
當滑鼠移動到 TextField 上時顯示字型大小
證明字型大小最大只能到 127

demo
 http://dl.dropbox.com/u/7377053/flash/textFieldFontSizeTest.html

Source
http://dl.dropbox.com/u/7377053/flash/textFieldFontSizeTest.fla

code
 http://paste.plurk.com/show/948935/

tooltip.targetAlpha = 0;
var textFormat:TextFormat = new TextFormat();
function getTextField(size:int):TextField{
    var t:TextField = new TextField();
    t.text = "A";
    textFormat.size = size;
    t.selectable = false;
    t.setTextFormat(textFormat);
    t.autoSize = TextFieldAutoSize.LEFT;
    t.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
    t.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
    return t;
}

function onMouseOver(e:MouseEvent):void{
    var t:TextField = (TextField)(e.target);
    tooltip.targetAlpha = 1;
    tooltip.t.text = t.getTextFormat().size;
}
function onMouseOut(e:MouseEvent):void{
    var t:TextField = (TextField)(e.target);
    tooltip.targetAlpha = 0;
}
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(e:Event):void{
    tooltip.x += (this.mouseX - tooltip.x) * 0.2;
    tooltip.y += (this.mouseY - tooltip.y) * 0.2;
    tooltip.alpha += (tooltip.targetAlpha - tooltip.alpha) * 0.2;
}

for(var i = 116 ; i <= 130 ; i ++ )
{
    var t:TextField = getTextField(i);
    var n = this.numChildren - 1;
    t.x = n % 5 * 100;
    t.y = Math.floor(n /5) * 100;
    this.addChild(t);
}
this.addChild(tooltip);

Try yourself
1. 開flash CS X
2. 弄個靜態文字 字型大小設成 200
3. 把靜態文字切換到動態文字

會發現字變小了

怎麼解決這個問題?

用 Sprite 裝 TextField 再對 Sprite 作放大

2012/3/9

HTML5 Canvas eraser demo using EaselJS

原理
  html5 canvas 的橡皮擦怎麼作?
  用context.globalCompositeOperation
  根據Canvas Composite Operations Tutorial & Demo
  我們知道只要寫

    context.globalCompositeOperation = "destination-out"

  就可以作出橡皮擦功能
  但我們不直接用他
  因為我們要透過 EaselJS 來操作 canvas
  所以我們變成要寫

  DisplayObject.compositeOperation = "destination-out";

demo

code

<html>
<head>
    <title></title>
    <script type="text/javascript" src="../lib/easel.js"></script>
    <script type="text/javascript" src="../lib/jquery-1.7.1.js"></script>
    <script type="text/javascript">
        $(function(){
            var canvas = $("#canvas")[0];
            var stage = new Stage(canvas);
            var shape1 = new Shape();
            var shape2 = new Shape();
            var color = "rgba(255,0,0,1)";
            shape1.graphics.setStrokeStyle(16, "round", "round")
                    .beginStroke(color)
                    .moveTo(100, 300)
                    .lineTo(300, 100)
                    .endStroke();
            shape2.graphics.setStrokeStyle(16, "round", "round")
                    .beginStroke(color)
                    .moveTo(100, 100)
                    .lineTo(300, 300)
                    .endStroke();
            shape2.compositeOperation = "destination-out";
            stage.addChild(shape1);
            stage.addChild(shape2);
            stage.update();
        });
    </script>
    </head>
<body>
<canvas id="canvas" width="640" height="480"></canvas>
</body>
</html>

這是用 http://tohtml.com/ 貼code的功能,感覺還不錯

html canvas link

Canvas Composite Operations Tutorial & Demo (混色模式教學)
http://mrcoles.com/blog/canvas-composite-operations-demo-animation/

EaselJS新手上路
http://blog.eddie.com.tw/2011/09/10/introduction-to-easeljs/

HTML5 Canvas eraser demo using EaselJS (橡皮擦教學)
http://etrex.blogspot.com/2012/03/html5-canvas-raser-demo-using-easeljs.html

2012/3/6

多想兩分鐘,你可以不必架站

要架站前先把所有法條都讀過、讀懂

或者要先花大把鈔票雇用一個台灣可能沒幾位的律師

藐視法律的創意,沒資格叫人尊重這篇文章提到:「更慘的是,在台灣,具備數位音樂商業談判以及民刑事訴訟實戰經驗的律師也沒有幾位。」

更何況是非法律系的一般民眾

不懂法律被講成藐視法律,這標題下得也太血腥了

也許這篇文章的作者很懂法律吧

我覺得他的標題改成「不懂法律的人,沒資格創業」會比較貼切些


Now.in作者的Blog提到:「我們也單槍匹馬跑去跟MUST談各種授權的可能性」

Now.in提到『財團法人台灣唱片出版事業基金會RIT(原IFPI)」對Now.in提出「侵犯著作權」與「疑獲取不法商業利益」等控訴』

先不考慮一般人根本不會知道這種單位不只一個

考慮這兩個單位之間的關係

因為我跟法律和這些單位也不熟所以我也只能瞎猜


試想幾個可能性

1. now.in 沒犯法,因為他沒有播音樂所以不需要得到授權,RIT是告爽的,就跟專利戰爭一樣拖到台錢就贏了

2. now.in 有犯法,需要得到授權,但MUST 和 RIT 只有其中一個單位具有授權能力,now.in 找錯單位了

3. MUST 和 RIT 是敵對關係,兩個單位都具有授權能力且now.in 必須得到兩個單位的授權才有資格,但now.in只有找其中一間提案,另一間不爽沒有獲得利益分配,於是跳出來告一下

4. MUST 和 RIT 是合夥關係,當now.in跟其中一間聯繫時就被釘上,然後一個扮白臉一個扮黑臉就是要榨乾now.in

5. 其他 (有其他想法的人可以選這項,上面那4項就當作沒看到可以嗎?)

公堂之上假設一下...


說不定那兩個單位的授權搞定了之後才發現只有搞定台灣歌手的授權(也不知道他們的授權到底多有用)

然後再換國外的單位來個完美的Combo (死


萬一哪天我架個站,營利的部分只有放個廣告

然後就冒出數個單位說我侵權

有可能是著作權也有可能是專利權還有其他我不知道的權

我真的不知道該怎麼辦

有解決問題的SOP嗎?


想幾個可能性

1. 多想兩分鐘,你可以不必架站

2. 台灣不支持發展網路服務業,趕快移民遠離鬼島 (瑞士政府:下載電影和音樂是合法行為)

3. 是不是應該要有個什麼政府單位專門免費幫創業家確認創意是否合法

還是說其實這個單位已經存在只是我不知道?


本篇文章參考了PTT Gossiping 版 搜尋標題 now.in 可以看到的所有文章的內容和推文