ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
と言うわけで新企画です.
・・・・なんか中途半端で終わりそうな気配がプンプンしますが.
F#とXNAでゲームを作ってみると言う新企画です.
僕自身,F#を始めたのが5時間ぐらい前で,XNAに関しても全くのド素人なのでむしろ教えて貰うことのほうが多いと思いますがよろしくお願いします.
では,さっそくインストールから始めます.
インストール方法はF#もXNAもインストーラを実行するだけです.
F#はインストール後にPathを通しといた方が良いかも.(勝手にPath通るんだっけ?)
C:\Program Files\FSharp-2.0.0.0\binみたいなところに.
とりあえず,簡単な画面を出すだけのサンプルを作ってみましょう.
ソースはこんな感じ.
#I @"C:\Program Files\Microsoft XNA\XNA Game Studio\v3.0\References\Windows\x86";
#r "Microsoft.Xna.Framework.dll";
#r "Microsoft.Xna.Framework.Game.dll";
#light
open System;
open System.Collections.Generic;
open Microsoft.Xna.Framework;
open Microsoft.Xna.Framework.Audio;
open Microsoft.Xna.Framework.Content;
open Microsoft.Xna.Framework.Graphics;
open Microsoft.Xna.Framework.Input;
open Microsoft.Xna.Framework.Storage;
type MyGame() as x =
inherit Game(IsMouseVisible=true,
IsFixedTimeStep=false)
let m_graphics = new GraphicsDeviceManager(x)
let mutable m_num = 0
let mutable m_bgc = new Color(20uy, 80uy, 80uy)
let mutable charaTexture = null
let mutable spriteBatch = null
do
x.Window.Title <- "sample0"
m_graphics.PreferredBackBufferWidth <- 640;
m_graphics.PreferredBackBufferHeight <- 480;
override x.Initialize() =
base.Initialize()
override x.Update gametime =
m_num <- m_num + 1
base.Update gametime
override x.Draw gametime =
m_graphics.GraphicsDevice.Clear(
m_bgc
)
base.Draw gametime
let main() =
let game = new MyGame()
game.Run()
do main()
作ったら,sample.fsxみたいな名前で保存して,
fsc sample.fsx
とコマンドプロンプトから打つなりしてやれば実行ファイルを作ってくれますし,右クリックしてRun with F# Interactiveをしてやっても実行できるようです.
大体,C#でやるのと同じだと思うので,他を参考にした方が良いかも.
・・・正直,C#でもやったことのない僕が上手く説明出来るとは思えないし.
とりあえず今の進捗状況
キーボードで動画に映っている鼻くそみたいなのを動かしています.
アクションゲームっぽくなってきたかな?
にほんブログ村
・・・・なんか中途半端で終わりそうな気配がプンプンしますが.
F#とXNAでゲームを作ってみると言う新企画です.
僕自身,F#を始めたのが5時間ぐらい前で,XNAに関しても全くのド素人なのでむしろ教えて貰うことのほうが多いと思いますがよろしくお願いします.
では,さっそくインストールから始めます.
インストール方法はF#もXNAもインストーラを実行するだけです.
F#はインストール後にPathを通しといた方が良いかも.(勝手にPath通るんだっけ?)
C:\Program Files\FSharp-2.0.0.0\binみたいなところに.
とりあえず,簡単な画面を出すだけのサンプルを作ってみましょう.
ソースはこんな感じ.
#I @"C:\Program Files\Microsoft XNA\XNA Game Studio\v3.0\References\Windows\x86";
#r "Microsoft.Xna.Framework.dll";
#r "Microsoft.Xna.Framework.Game.dll";
#light
open System;
open System.Collections.Generic;
open Microsoft.Xna.Framework;
open Microsoft.Xna.Framework.Audio;
open Microsoft.Xna.Framework.Content;
open Microsoft.Xna.Framework.Graphics;
open Microsoft.Xna.Framework.Input;
open Microsoft.Xna.Framework.Storage;
type MyGame() as x =
inherit Game(IsMouseVisible=true,
IsFixedTimeStep=false)
let m_graphics = new GraphicsDeviceManager(x)
let mutable m_num = 0
let mutable m_bgc = new Color(20uy, 80uy, 80uy)
let mutable charaTexture = null
let mutable spriteBatch = null
do
x.Window.Title <- "sample0"
m_graphics.PreferredBackBufferWidth <- 640;
m_graphics.PreferredBackBufferHeight <- 480;
override x.Initialize() =
base.Initialize()
override x.Update gametime =
m_num <- m_num + 1
base.Update gametime
override x.Draw gametime =
m_graphics.GraphicsDevice.Clear(
m_bgc
)
base.Draw gametime
let main() =
let game = new MyGame()
game.Run()
do main()
作ったら,sample.fsxみたいな名前で保存して,
fsc sample.fsx
とコマンドプロンプトから打つなりしてやれば実行ファイルを作ってくれますし,右クリックしてRun with F# Interactiveをしてやっても実行できるようです.
大体,C#でやるのと同じだと思うので,他を参考にした方が良いかも.
・・・正直,C#でもやったことのない僕が上手く説明出来るとは思えないし.
とりあえず今の進捗状況
キーボードで動画に映っている鼻くそみたいなのを動かしています.
アクションゲームっぽくなってきたかな?
にほんブログ村
PR
この記事にコメントする