TerminalからVSCodeを起動する設定するお、ω、
どうも僕でしゅ。ω。
最近VSCodeをよく使うので
Terminalから起動できるように設定をしたいと思います
ディレクトリを移動
ホームというのかな?
定位置に移動できるお、ω、
cd
ファイルを作成
touchでファイルを作成できるお、ω、
touch .bash_profile
.bash_profileを編集
vimを起動すると...
なんじゃこりゃー!
となりますが、慌てずにiを打ちます
下の部分がINSERTになれば編集が可能となります
あとは公式を参考にしてコードを書いていきます
Setting up Visual Studio Code
書き終わったらescキーを押します
下のINSERTが消えればおk
次にshift qを押します
この画面になったらwqと打ってEnter!
・wqで上書き保存して終了
・q!で破棄終了
実際に使ってみる
注意: 一度terminalを再起動すること
code <file>
キターーー(゜∀゜)ーーーー!!!!!
それでは、良いVSCodeライフを!
CinderをWinとMacで同時開発する際のプロジェクト設定、ω、
どうも僕です
Macを購入してWinを全く触らなかったのですが
MacとWinで同時開発しなければならなくなったので
その際つまづいたプロジェクト設定について書きます
前提として
MacではDesktopのCinderProjというディレクトリの中にcinderの本体を置いています
"Desktop/CinderProj/cinder_0.8.6_mac/"
WinではDesktopのCinderProjectというディレクトリの中にcinderの本体を置いています
"Desktop/CinderProject/cinder_0.8.6/"
Macでプロジェクト作成
普通にTinderBoxを使ってプロジェクトを作成するだけですね、ω、
名前は適当にMacAndWinにしました
Win側では2013を使用するのでxcodeと2013を指定します
ここで必ず動作確認
適当に何かを描画してみる、ω、
適当なレポジトリに共有
gitでバージョン管理をするのでgitにpushしておきます
Winにcloneしてくる
#gitを使用しない場合はコピー
cinderの本体がある場所にもってきます
vc2013の.slnを起動
ソースファイルが開けないとエラーを吐かれる
プロパティを開く
エラーの原因はcinder library本体が見つからないためなので
このエラーをこれから解消していきます、ω、
まずはプロジェクト名の部分を右クリックし
プロパティを開きます
追加のインクルードディレクトリを変更
プロパティを開いたらC/C++から追加のインクルード((ryをみてください
みてわかる通りcinder_0.8.6_macと書いていますね
win環境下で動かすため、この状態では動かせません
以下のように書き換えます
同じようにリンカー、リソースも書き換えていきます
リンカーの書き換え
リソースの書き換え
プリプロセッサの定期の書き換え
この部分はDebug用、Release用をそれぞれ書き換えます
デバッグ情報の生成
これまでやってきた書き換えで
プログラムは実際に動きますが
デバッグするたびにこのポップアップがでてきます
警告のようなものなのでこれも解消しておきます
構成をDebugにして生成を"はい(/DEBUG)"にすれば完了です
最後に動作確認をして終了。ω。
OpenGL始めてみた、ω、
一年のころに講師の方からゲーム開発用に配布されたライブラリも
OpenGLを元にしてつくられていたようです
2年になって使い始めたCinderLibraryもOpenGLを使ってますし
OpenGLってライブラリの元として使われていることが多いようです
ということからOpenGLに興味を持ちまして
最近OpenGLを始めてみたわけですが
すごく・・・
原始的です////
今までだと
画面に点を描画するとき
drawPoint(Vec2f pos, Vec2f size);
こんな感じで点を描画する関数に必要なデータを渡すだけだったのが
OpenGLだと
// サイズ指定 glPointSize(int size); // 何を描画するのかを指定 glBegin(GL_POINTS); // 位置を指定 glVertex2i(int pos_x, int pos_y); // 描画するものの効果範囲を終了 glEnd();
こんな感じで何をするのか細かく指定してあげないといけないようです
逆に細かく指定できる分いろいろと幅が広がるのかな?
まだウィンドウの描画と点の描画までですが
gitにあげているのでよければどうぞ、ω、github.com
ポリゴンと線分の当たり判定!
みんなコード書いてるかな。ω。
3次元でゲームを作成しだしてから
いたるところの計算が難しくなって困ってる僕です
FPSを作り出して
人型のオブジェクトと弾との当たり判定でつまづいたので勉強してきました
解説するのはめんどくさいので割愛します
ごめんくさい
関数で求まること
・線分がポリゴンと交差しているかどうか(bool)
・交点(Vec3f)
やってることは
・線分がポリゴンと交差しているか判定 (早期リターン
・線分ABの点Aとポリゴン、点Bとポリゴンとの内分比を求める
・内分比より交点を求める
・交点がポリゴン内に存在しているか調べる
という流れになってます
英語勉強しないといけないから
外人さんのコード読んで真似して英語でコメント書いてます、ω、
FPSCamera 完成!
マウスカーソルを非表示にしたり任意の位置に移動させたり、ω、
どうも、ω、
最近FPSにはまってまして
自分もFPS作ろうかなぁと思いまして
とりあえずFPSってマウスカーソルが非表示じゃないっすか
ってことでカーソルを非表示にする方法をご紹介
Windows
http://wisdom.sakura.ne.jp/system/winapi/win32/win44.html
こちらのサイトをご紹介
主が下手に紹介するよりましでしょう、ω、
Mac
はっきり言ってググってもなかなか見つからないです
探りながらようやく実行できました
#include <ApplicationServices/ApplicationServices.h>
ApplicationServicesはアップルから提供される
デベロッパ用のフレームワークをインクルード
CGDisplayHideCursor( CGDirectDisplayID display );
名前でわかる通りカーソルを非表示にするメソッドです
リファレンスが英語で引数のCGDirectDisplayIDというのはまだ謎ですが
とりあえず0を与えれば問題なく動きました、ω、
CGWarpMouseCursorPosition( CGPoint newCursorPosition );
引数に与えた位置にカーソルを移動させるメソッドです
CGPointというのは構造体で
struct CGPoint {
CGFloat x;
CGFloat y;
};
となっています
CGFloatはリファレンスには載っていませんが
コードを読むとdoubleでした
CGPoint pos; pos.x = 0; pos.y = 0; // コンストラクタ用意しろよぉ、ω、 CGWarpMouseCursorPosition(pos);
これで動くかと思います
ただ座標系がモニターの左上が原点
となっているのでまだ使い勝手が悪い状態です
またなにかいい方法を模索中。ω。
Cinder Libraryって知ってる?
なんか学校でこのライブラリをつかぞーってことで
今年から使ってます
Cinderは
オープンソースのライブラリで
Processingを意識して作られてるらしい、ω、
・Win,Macともに動きます
とりあえずプロジェクトを作るとこんな感じ
#include "cinder/app/AppNative.h" #include "cinder/gl/gl.h" using namespace ci; using namespace ci::app; using namespace std; class CinderProjectApp : public AppNative { public: void setup(); void mouseDown(MouseEvent event); void update(); void draw(); }; void CinderProjectApp::setup() {} void CinderProjectApp::mouseDown(MouseEvent event) {} void CinderProjectApp::update() {} void CinderProjectApp::draw() { // clear out the window with black gl::clear(Color( 0, 0, 0 )); } CINDER_APP_NATIVE(CinderProjectApp, RendererGl)
テンプレートがここまですっきりしてるのはいいね、ω、
Cocos2dxを前に触ったことあるけど
あれは初心者向けじゃなかったなぁ
とりあえず立方体を描画
void CinderProjectApp::draw() { // clear out the window with black gl::clear(Color(0, 0, 0)); gl::drawCube(Vec3f::zero(), Vec3f(50, 50, 50)); }
見てもらったら分かる通り
原点は左上になってます
右に向かってx座標が伸びていて
下に向かってy座標が伸びています
カメラとライト使うと
こんな表現もできます。ω。
リファレンスが英語のみで
付属してくるサンプルが難しすぎて
ネットで調べてもさっぱりなCinderですが
主はけっこう好きです
ではこのへんで(・。・)))3ミ