2015年7月22日 星期三
2015 Fukushima Game Jam
2015 Fukushima Game Jam 即將在 08/22(六)~08/23(日) 舉行,歡迎大家報名參加。
日本 Fukushima Game Jam 網站
台灣 Fukushima & Faust Game Jam 2015
跟去年一樣,本次台灣也有三個場地,分別在台北、台中、高雄,
報名網址如下:
台北會場
台中會場
高雄會場
幾個常見問題:
目標:在 30 小時內,完成指定主題的遊戲
條件:想作遊戲的心,不需要特定技能,現場會組隊,大家一起做出好玩的遊戲
費用:無,所以請自備筆電,餐飲自理,住宿自理
參考資料
東北ITコンセプト 福島GameJam 2015 | Fukushima Game Jam
http://fgj.igda.jp/
來自全世界的 Global Game Jam 創意作品介紹 台灣業界開發者分享參賽經驗談
http://gnn.gamer.com.tw/3/110333.html
四人兩天開發的《Dora》- MIT Game Jam 心得分享
http://tzengyuxio.me/blog/2012/05/01/mit-game-jam-dora/
2012 Fukushima Game Jam(台北會場)活動概要
https://igdshare.org/fgj2012-taipei
Fukushima Game Jam 2013 通關報告
http://alimencave.blogspot.tw/2013/08/fukushima-game-jam-2013.html
陳禮國 / 遊戲製作的精神時光屋-Game Jam 如何激發無限創意
http://www.tgdf.tw/en/archives/676
FUKUSHIMA & FAUST GAME JAM 2014:《BBQ SENTAI》(烤肉戰隊)
http://gamingsummit.tumblr.com/post/93876707119/fgj-2014-bbq-sentai
2015年7月16日 星期四
ASP.NET API 加入 JSONP 支援
使用 Nuget 安裝 WebApiContrib.Formatting.Jsonp 套件
在 Global.asax 的 Application_Start 函式中加入
GlobalConfiguration.Configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter()));
在 App_Start/WebApiConfig.cs 的 Register 修改 Route 如下
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{format}",
defaults: new
{
id = RouteParameter.Optional,
format = RouteParameter.Optional
}
);
這樣就可以支援 Jsonp!
註:會自動判斷 Headers 的 Accept 參數,如果是 application/json 則會回傳 json 格式
資料來源:
WebApiContrib.Formatting.Jsonp
https://github.com/WebApiContrib/WebApiContrib.Formatting.Jsonp
在 Global.asax 的 Application_Start 函式中加入
GlobalConfiguration.Configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter()));
在 App_Start/WebApiConfig.cs 的 Register 修改 Route 如下
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{format}",
defaults: new
{
id = RouteParameter.Optional,
format = RouteParameter.Optional
}
);
這樣就可以支援 Jsonp!
註:會自動判斷 Headers 的 Accept 參數,如果是 application/json 則會回傳 json 格式
資料來源:
WebApiContrib.Formatting.Jsonp
https://github.com/WebApiContrib/WebApiContrib.Formatting.Jsonp
2015年7月15日 星期三
Qt WebSocket
宣告 WebSocketServer
new QWebSocketServer("Web Server", QWebSocketServer::NonSecureMode, this)
使用 listen() 開始接受 client 連線
同樣是使用 newConnection() 接受新的 client 事件
使用 nextPendingConnection() 取得 client 的 socket
QWebSocket 使用 disconnected 斷線事件
因為 WebSocket 規範中有兩種資料傳送方式,純文字模式及二進制模式,
所以資料接收事件也分為兩種,分別為
textMessageReceived,參數為 QString message
binaryMessageReceived,參數為 QByteArray message
傳送資料也分為兩個函式,分別為
sendTextMessage
sendBinaryMessage
簡單範例
connect(m_pWebSocketServer, &QWebSocketServer::newConnection, [=]() {
qDebug() << "new client socket";
QWebSocket* socket = this->m_pWebSocketServer->nextPendingConnection();
connect(socket, &QWebSocket::disconnected, [=]() {
qDebug() << "client socket disconnected";
socket->deleteLater();
});
connect(socket, &QWebSocket::textMessageReceived, [=](QString message) {
qDebug() << "client textMessageReceived";
qDebug() << "Read: " << message;
qDebug() << "Send " << message;
socket->sendTextMessage(message);
socket->close();
});
connect(socket, &QWebSocket::binaryMessageReceived, [=](QByteArray message) {
qDebug() << "client processBinaryMessage";
qDebug() << "Read: " << message;
qDebug() << "Send " << message;
socket->sendBinaryMessage(message);
socket->close();
});
});
m_pWebSocketServer->listen(QHostAddress::Any, 8812);
資料來源
Echo Server Example
http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.html
QWebSocketServer
http://doc.qt.io/qt-5/qwebsocketserver.html
new QWebSocketServer("Web Server", QWebSocketServer::NonSecureMode, this)
使用 listen() 開始接受 client 連線
同樣是使用 newConnection() 接受新的 client 事件
使用 nextPendingConnection() 取得 client 的 socket
QWebSocket 使用 disconnected 斷線事件
因為 WebSocket 規範中有兩種資料傳送方式,純文字模式及二進制模式,
所以資料接收事件也分為兩種,分別為
textMessageReceived,參數為 QString message
binaryMessageReceived,參數為 QByteArray message
傳送資料也分為兩個函式,分別為
sendTextMessage
sendBinaryMessage
簡單範例
connect(m_pWebSocketServer, &QWebSocketServer::newConnection, [=]() {
qDebug() << "new client socket";
QWebSocket* socket = this->m_pWebSocketServer->nextPendingConnection();
connect(socket, &QWebSocket::disconnected, [=]() {
qDebug() << "client socket disconnected";
socket->deleteLater();
});
connect(socket, &QWebSocket::textMessageReceived, [=](QString message) {
qDebug() << "client textMessageReceived";
qDebug() << "Read: " << message;
qDebug() << "Send " << message;
socket->sendTextMessage(message);
socket->close();
});
connect(socket, &QWebSocket::binaryMessageReceived, [=](QByteArray message) {
qDebug() << "client processBinaryMessage";
qDebug() << "Read: " << message;
qDebug() << "Send " << message;
socket->sendBinaryMessage(message);
socket->close();
});
});
m_pWebSocketServer->listen(QHostAddress::Any, 8812);
資料來源
Echo Server Example
http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.html
QWebSocketServer
http://doc.qt.io/qt-5/qwebsocketserver.html
2015年7月14日 星期二
Qt TcpSocket
Server 的部份使用 QTcpServer
呼叫 listen 函式開始接受 Client 連線,參數為 QHostAddress::Any, 8811
在 newConnection signal 接受 socket
QTcpSocket* socket = server->nextPendingConnection();
在 readyRead() signal 接收資料
QBtyeArray data = socket->readyAll()
使用 write() 傳送資料
簡單的範例:
m_server = new QTcpServer();
connect(m_server, &QTcpServer::newConnection, [=]() { qDebug() << "new client socket"; QTcpSocket* socket = this->m_server->nextPendingConnection(); connect(socket, &QTcpSocket::disconnected, [=]() { qDebug() << "client socket disconnected"; socket->deleteLater(); }); connect(socket, &QTcpSocket::readyRead, [=]() { qDebug() << "client readyRead"; QString string = socket->readAll(); qDebug() << "Read: " << string; string = string.toUpper(); qDebug() << "Send " << string; socket->write(string.toLatin1()); socket->close(); }); }); m_server->listen(QHostAddress::Any, 8811); qDebug() << "server listen";
Client 直接使用 QTcpSocket
呼叮 connectToHost 與 server 連線
連上了會觸發 connected 訊號,斷線則是 disconnected
接收資料一樣是 readyRead
簡單的範例:
m_client = new QTcpSocket();
connect(m_client, &QTcpSocket::connected, [=]() {
qDebug() << "socket connected";
QString string = "Hi";
m_client->write(string.toLatin1());
qDebug() << "Send: " << string;
});
connect(m_client, &QTcpSocket::disconnected, [=]() {
qDebug() << "socket disconnected";
});
connect(m_client, &QTcpSocket::readyRead, [=]() {
qDebug() << "client readyRead";
QString string = m_client->readAll();
qDebug() << "Read: " << string;
m_client->close();
});
m_client->connectToHost("127.0.0.1", 8811);
資料來源:
Network Programming with Qt
http://doc.qt.io/qt-5/qtnetwork-programming.html
Sockets - Server & Client using QT
http://www.bogotobogo.com/cplusplus/sockets_server_client_QT.php
QTcpSocket Class
http://doc.qt.io/qt-5/qtcpsocket.html
呼叫 listen 函式開始接受 Client 連線,參數為 QHostAddress::Any, 8811
在 newConnection signal 接受 socket
QTcpSocket* socket = server->nextPendingConnection();
在 readyRead() signal 接收資料
QBtyeArray data = socket->readyAll()
使用 write() 傳送資料
簡單的範例:
m_server = new QTcpServer();
connect(m_server, &QTcpServer::newConnection, [=]() { qDebug() << "new client socket"; QTcpSocket* socket = this->m_server->nextPendingConnection(); connect(socket, &QTcpSocket::disconnected, [=]() { qDebug() << "client socket disconnected"; socket->deleteLater(); }); connect(socket, &QTcpSocket::readyRead, [=]() { qDebug() << "client readyRead"; QString string = socket->readAll(); qDebug() << "Read: " << string; string = string.toUpper(); qDebug() << "Send " << string; socket->write(string.toLatin1()); socket->close(); }); }); m_server->listen(QHostAddress::Any, 8811); qDebug() << "server listen";
Client 直接使用 QTcpSocket
呼叮 connectToHost 與 server 連線
連上了會觸發 connected 訊號,斷線則是 disconnected
接收資料一樣是 readyRead
簡單的範例:
m_client = new QTcpSocket();
connect(m_client, &QTcpSocket::connected, [=]() {
qDebug() << "socket connected";
QString string = "Hi";
m_client->write(string.toLatin1());
qDebug() << "Send: " << string;
});
connect(m_client, &QTcpSocket::disconnected, [=]() {
qDebug() << "socket disconnected";
});
connect(m_client, &QTcpSocket::readyRead, [=]() {
qDebug() << "client readyRead";
QString string = m_client->readAll();
qDebug() << "Read: " << string;
m_client->close();
});
m_client->connectToHost("127.0.0.1", 8811);
資料來源:
Network Programming with Qt
http://doc.qt.io/qt-5/qtnetwork-programming.html
Sockets - Server & Client using QT
http://www.bogotobogo.com/cplusplus/sockets_server_client_QT.php
QTcpSocket Class
http://doc.qt.io/qt-5/qtcpsocket.html
訂閱:
文章 (Atom)