忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
OpenRTM.NETは.NETフレームワーク上で動作するので,F#からでも使えるはずです.

OpenRTM.NETはここからダウンロードできます.


簡単なサンプルを作ってみました.

ソースはこんな感じ.








#I @"C:\Program Files\SEC\OpenRTM.NET\bin";

#r "OpenRTM.Core.dll";

#r "OpenRTM.Extension.dll";

#r "OpenRTM.IIOP.dll";

#r "OpenRTM.WCF.dll";




#light

open OpenRTM.Core;
open OpenRTM.Extension;
open System;
open System.Collections.Generic;
open System.Linq;
open System.Text




[<Component(Category = "Examples", Name = "Sample")>]
[<DetailProfile(
        ActivityType = "DataFlowComponent",
        Description = "Hello World Component",
        Language = "F#",
        LanguageType = "Compile",
        MaxInstance = 10,
        Vendor = "Nobu",
        Version = "1.0.0")>]
[<CustomProfile("CreationDate", "2010/11/20")>]
type Sample() as x =
    inherit DataFlowComponent()
   
   
    override x.OnExecute(exec_handle) =
       
            Console.WriteLine("Hello World");
            ReturnCode_t.RTC_OK;
   






let main() =
    let manager = new Manager()
    manager.Activate();
    let comp = manager.CreateComponent("Sample");
    comp.GetComponentProfile().Display();
    manager.Run();

do main()







F#も悪くないかも.










にほんブログ村 IT技術ブログへ
にほんブログ村

PR
と言うわけで新企画です.

・・・・なんか中途半端で終わりそうな気配がプンプンしますが.

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#でもやったことのない僕が上手く説明出来るとは思えないし.

とりあえず今の進捗状況





キーボードで動画に映っている鼻くそみたいなのを動かしています.
アクションゲームっぽくなってきたかな?







にほんブログ村 IT技術ブログへ
にほんブログ村
カレンダー
09 2018/10 11
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
フリーエリア
最新CM
[08/24 Nobu]
[08/24 puku]
[08/22 Nobu]
[08/22 puku]
[04/17 Nobu]
プロフィール
HN:
Nobu
年齢:
30
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]