Re: [問題] XNA Platform Starter kits 小改寫後 ꬠ…
僅PO出修改部分,其他請參照Platform:
------------------------------------------------------------
在public class PlatformerGame.cs
-> public class PlatformerGame : Microsoft.Xna.Framework.Game 加了:
public delegate void Callback(IntPtr text, int num, double score, IntPtr
command);
[DllImport("recordAndRecogDLL.dll")]
public static extern bool bInitEngine(char[] filename, double volth,
double scoreTh, double silFrame, Callback functionPtr, int deb);
[DllImport("recordAndRecogDLL.dll")]
public static extern bool bStartRecord();
[DllImport("recordAndRecogDLL.dll")]
public static extern bool bSetStop();
private static Process myProcess;
private static string temp2 = "";
在同個cs檔下public PlatformerGame()內加了:
Callback myCallBack = new Callback(PlatformerGame.Report);
char[] filename = new char[] { 'c', 'o', 'm', 'm', 'a', 'n', 'd', '.', 't', 'x', 't' };
bInitEngine(filename, 0, 50, 0.5, myCallBack, 0);
bStartRecord();
myProcess = new Process();
繼續在public class PlatformerGame : Microsoft.Xna.Framework.Game加入:
public static void ActionForRecog(string ActionPrm)
{
switch (ActionPrm)
{
case "action00": // 電腦簡報 → 開啟PowerPoint
myProcess.StartInfo.FileName = "POWERPNT";
myProcess.StartInfo.Arguments = "\"\"";
break;
case "action04": // 電腦上網 → 開啟IE
myProcess.StartInfo.FileName = "iexplore";
break;
case "action09": // 電腦計算機 → 開啟計算機
myProcess.StartInfo.FileName = "calc";
break;
default:
ActionPrm = "no command";
break;
}
}//這邊覺得怪怪的請別介意我還沒有改動作^^"
public static void Report(IntPtr text, int num, double score, IntPtr command)
{
temp2 = Marshal.PtrToStringAnsi(command);
ActionForRecog(temp2);
}
※ 引述《antirazin (今年是日星來台年~真嗨)》之銘言:
: 小的用的是VC# 2008,XNA GAME Studio 3.0
: 想請問各位大大一下,
: 我將XNA附的Platform範例中稍加一點東西
: (在public class PlatformerGame : Microsoft.Xna.Framework.Game下 加code),
: 之後按F5可以Run但是沒有畫面跳出來(有出現區域變數呼叫堆疊1秒左右就關上了),
: 請問可能是哪些方面的問題呢?
: 如需要CODE我再部分PO出(其實是不知道該PO哪一段= =")
: 先感謝了~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.227.194
※ 編輯: antirazin 來自: 61.230.227.194 (03/17 22:35)