2011年4月30日 星期六

Azure Test

1. 取得Azure Account
2. 確定可以登入 http://windows.azure.com

3. 以VS2010建置專案
4. 測試OK後發行(專案總管右鍵發行,在bin/debug/產生publish目錄。
5. 建置雲端應用(登http://windows.azure.com/後)
6. Create Service Package Only,
7. Click OK. You will receive a warning

8. After deployment ready, then goto the cloud application.

Azure Account

1. 據說免信用卡申請 Azure 帳號。
http://caryhsu.blogspot.com/2011/04/windows-azure-platform.html

2. 可能是我的hotmail.com在台灣,or 手機號碼 886,無法拿到試用帳號。

3. 系上msdnaa帳號可試用,Test OK!

4. 再試一次,用csjou2011@hotmail.com,

2011年4月19日 星期二

DXStudio 與 WPF 互動

1. Demo_girl_Walk.dxstudio
1-1. girl_1 class script 加入來自scene.script的全域變數xxx,yyy
     object.path.addNode(new Vector( scene.script.xxx, scene.script.yyy,0), new Vector(0.5,0.5,0.5));
1-2  scene script 加入2functions供WPF呼叫
function moveXXX(dx)
{
  xxx += dx;
}
function moveYYY(dy)
{
  yyy += dy;
}
1.3 WPF 程式呼叫 scene function 範例
 Player1.Send("scenes.scene_1.script.moveXXX(-5)");
新增說明文字

2. 鍵盤事件初步測試無法由WPF端觸發,以Button_Click測試。

App_Data 權限問題

1. 不太確定App_Data的權限問題,但圖片檔放在目錄中無法展示。
     1-1 比較次目錄(App_Data)與主目錄,在設計模式下正常。
     1-2 執行時次目錄(App_Data)的圖片無法展示
     1-3 直接以瀏覽器秀圖, HTTP Error 404
2. 將次目錄改為自建目錄Images,一切正常
   

2011年4月14日 星期四

Firefox 複製中文網址

Ref: http://texhello.pixnet.net/blog/post/21204680
1. 網址列中文複製以跳脫碼展示




2. 修改方法

2.1. about:config



3. network.standard-url.escape-utf8改為false



4. 測試OK

2011年4月10日 星期日

重灌Windows 7 x86 (HyperV Remote Management)

1. x64 三不五時有問題,想要重灌很久了。

2. 下載安裝 Windows 7 Service Pack 1 (SP1) 的遠端伺服器管理工具


安裝(須一點時間)
3. 加入Hyper-V角色

控制台(新增移除程式)














4. PowerShell 設定 : Set-ExecutionPolicy RemoteSigned

PowerShell 設定












5. mmc Enable (運用 hvremote.wsf)

mmc 啟動















6. cmdkey /add:電腦名稱 /user:使用者 /pass:密碼

mmc 設定















7. 重新啟動

8. HWC 網域設定

2011年4月8日 星期五

XNA 第7課 陣列

XNA 7 陣列
1.     宣告陣列元件(5x5=25)
        Ball [] arrayBall;
        int Ballcnt = 5;
2.     Initialized方法加入物件
arrayBall = new Ball[Ballcnt * Ballcnt];
            for (int i = 0; i < Ballcnt; i++)
                for (int j = 0; j < Ballcnt; j++)
                {
                    arrayBall[i * Ballcnt + j] = new Ball();
                    arrayBall[i * Ballcnt + j].Position.X = j * 60;
                    arrayBall[i * Ballcnt + j].Position.Y = i * 60;
                }
3.     Update方法加入陣列物件更新邏輯
for (int i = 0; i < Ballcnt; i++)
                for (int j = 0; j < Ballcnt; j++)
                    UpdateArray(gameTime, arrayBall[i * Ballcnt + j]);
            base.Update(gameTime);
        }
        void UpdateArray(GameTime gameTime, Ball BallSprite)
4.     Update方法加入陣列物件更新邏輯
for (int i = 0; i < Ballcnt; i++)
  for (int j = 0; j < Ballcnt; j++)
    UpdateArray(gameTime, arrayBall[i * Ballcnt + j]);
  
        void UpdateArray(GameTime gameTime, Ball BallSprite) …
5.     Draw方法加入陣列物件繪圖
for (int i = 0; i < Ballcnt; i++)
for (int i = 0; i < Ballcnt; i++)
   for (int j = 0; j < Ballcnt; j++)
     spriteBatch.Draw(spriteTexture, arrayBall[i * Ballcnt + j].Position, Color.White); /

XNA 第6課 加入聲音

XNA 6 加入聲音
1.     準備聲音檔
2.     加入名空間、宣告類別音效變數.
static public SoundEffect Boing;
3.     加入名空間、宣告類別音效變數.
BouncingBall.Boing = Content.Load<SoundEffect>("Boing-Sith_Mas-479");   
4.     更新改變方向時加入音效.
if (spritePosition.X > MaxX)
{
  spriteSpeed.X *= -1;
  spritePosition.X = MaxX;
  Boing.Play();
}

XNA 第4-5課

XNA 4 移動精靈
已在第2課中說明:加入速度與SpritUpdate方法(Update方法中呼叫執行)
XNA 5 自建精靈類別
1.     自建類別
2.     加入命名空間using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics;
3.     加入位置、速度屬性,建構元設定初始值(貼圖資訊不需加入類別,由Draw方法處直接呼叫)
4.     Game類別使用
4.1  全域變數宣告
Ball BallSprite;
Texture2D spriteTexture;
4.2  起始方法建置精靈物件
Initialize()
{ BallSprite = new Ball();}
4.3  Load 載入圖形
spriteTexture = Content.Load<Texture2D>("Ball"); // 5.7
4.4  加入更新位置邏輯 (獨立方法進行較佳)
            UpdateBall(gameTime);
4.1  Draw方法
spriteBatch.Draw(spriteTexture, BallSprite.Position, Color.White); // 5.8

XNA 第3課 Draw 方法

加入spriteBatch.Draw(myTexture, new Vector2(100f,100f), Color.Green);
增加一個精靈。

2011年4月6日 星期三

XNA 第2課

Ref: XNA 4.0 Your First Game - XNA Game Studio in 2D
1. 準備 Test1.png
2. 方案總管 Content (右建)加入 現有項目(精靈圖檔Test1.png)
3. LoadContent 方法
    3.1 宣告全域變數
    Texture2D myTexture; //3-1
    Vector2 spritePosition = Vector2.Zero; // 3-2
    Vector2 spriteSpeed = new Vector2(250.0f, 0f); // 精靈速度 3-3
    protected override void LoadContent()
    {
        // Create a new SpriteBatch, which can be used to draw textures.
        spriteBatch = new SpriteBatch(GraphicsDevice);
        myTexture = Content.Load<Texture2D>("Test1"); // 3-4
    }
    4. Draw 方法
        4.1-4.3 繪出精靈(Sprite)
         spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); // 4.1
         spriteBatch.Draw(myTexture, spritePosition, Color.White); // 4.2
         spriteBatch.End(); // 4.3
    5. 移動精靈(Sprite)指令
        // TODO: Add your update logic here
            UpdateSprite(gameTime); // 5.1
            // -------- 自建更新方法
            base.Update(gameTime);
        }
        void UpdateSprite(GameTime gameTime)
        {
            // Move the sprite by speed, scaled by elapsed time.
            spritePosition += ... 略

XNA第一課

Ref: http://www.bluerosegames.com/xna101/post/Lesson-2-Our-first-look-at-the-code-(Part-2).aspx
由範例學習程式設計是一個很好的開始,由Visual Studio C#XNA範本(template)產生的架構,可以初步看出XNA的運作架構。
基本程式架構由兩個類別組成(program.cs as class program), Game1 繼承Game類別。Game1 類別共有6個方法:
1.     public Game1():建構元
2.     protected override void Initialize()
3.     protected override void LoadContent():載入圖形或聲音。
4.     protected override void UnloadContent() :卸載時清理用。
5.     protected override void Update() :定期計算元件位置、更新計分、設定參數、檢查滑鼠、鍵盤、控制器狀態。
6.     protected override void Draw() :定期更新畫面。
儘量將更新動作置於Update方法中,繪圖部分置於Draw方法中。