wiki:dotnet-tyokalut/mac
Last modified 4 years ago Last modified on 2014-01-23 15:30:19

.NET-työkalut » Jypeli Macilla

Koska XNA ei toimi OS X:llä, on sitä varten tehty Jypelistä ns. MonoGame-versio. Tämä projekti on vielä beta-vaiheessa, mutta halukaat voivat kokeilla ja täydentää tänne ohjeita.

1. Xamarin Studio asennus

  • Mene sivulle xamarin.com ja lataa asennuspaketti. Lataussivu kysyy nimeä ja sähköpostiosoitetta, voit antaa omasi tai keksiä.

2. Jypelin MonoGame-toteutus

  • Tällä hetkellä saatavilla vain versiohallinnasta. Asennusohjelma tulossa myöhemmin, versiohallinnassa kuitenkin aina viimeisin versio.
  • Avaa komentorivi (terminal) ja lataa Jypeli versiohallinnasta komennolla
    svn checkout https://svn.cc.jyu.fi/srv/svn/npo/branches/MonoGame MonoJypeli
    
  • Lataamisessa kestää jonkun aikaa, käy vaikka kahvilla. Sen jälkeen Jypeli on valmis käytettäväksi.

3. Uuden projektin luominen

  • Toistaiseksi tarpeettoman monimutkaista, projektimallit tulossa jotka lyhentävät tämän ohjeen puoleen :)
  • Avaa Xamarin Studio ja tee uusi solution (File-valikosta New -> Solution)
  • Valitse C# -> Mac (open source) -> Empty MonoMac Project.
  • Kirjoita nimi projektille alas Name-kohtaan ja katso että Location (tallennuspaikka) on mieleinen, ja valitse ok.
  • Lisää Jypeli-projekti solutioniin (kontekstivalikko, Add -> Add Existing Project; Jypeli-MacOS.csproj, löytyy MonoJypeli/Jypeli -kansion alta)
  • Lisää myös Physics2d-projekti (Physics2d-MacOS.csproj, löytyy MonoJypeli/Physics2d-kansion alta)
    • Jos olet tekemässä Pongia, voit käyttää SimplePhysics-moottoria Physics2d:n sijasta jolloin pallo kimpoilee siistimmin.
    • Toisin kuin autossa, moottoria voi vaihtaa vaikka kesken kaiken jos siltä tuntuu :)
  • Avaa projektin viitteet (references, tuplaklikkaa)
  • Lisää Projects-välilehdeltä molemmat rastit (Jypeli ja fysiikkamoottori) ja Net Assembly -välilehdeltä Jypeli.MonoGame.Framework.dll, oletussijainti
    /Users/(käyttäjänimi)/MonoJypeli/MonoGame/MonoGame.Framework/bin/MacOS/Debug
    
  • Lisää projektiin uusi tiedosto Ohjelma.cs, sisältö:
    using System;
    using System.Drawing;
    using MonoMac.Foundation;
    using MonoMac.AppKit;
    using MonoMac.ObjCRuntime;
    
    static class Program
    {
    	static void Main (string[] args)
    	{
    		NSApplication.Init ();
    
    		using (var p = new NSAutoreleasePool())
    		{
    			NSApplication.SharedApplication.Delegate = new AppDelegate ();
    			NSApplication.Main (args);
    		}
    	}
    }
    
    class AppDelegate : NSApplicationDelegate
    {
    	Peli peli;
    
    	public override void FinishedLaunching (NSObject notification)
    	{
    		peli = new Peli();
    		peli.Run();
    	}
    
    	public override bool ApplicationShouldTerminateAfterLastWindowClosed (NSApplication sender)
    	{
    		return true;
    	}
    }
    
  • Lisää vielä Peli.cs, sisältö
    using System;
    using System.Collections.Generic;
    using Jypeli;
    using Jypeli.Assets;
    using Jypeli.Controls;
    using Jypeli.Widgets;
    
    public class Peli : PhysicsGame
    {
        public override void Begin()
        {
            // Kirjoita ohjelmakoodisi tähän
    
            Keyboard.Listen( Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli" );
        }
    }
    

3. Sisällön tuominen projektiin (content)

  • XNA:sta poiketen solutionissa ei ole erillistä content-projektia
  • Kuvat ja äänet lisätään peliprojektin Content-kansioon (tee jos ei ole)
  • Muista asettaa jokaiselle lisätylle tiedostolle ominaisuudet kontekstivalikosta:
    • Build action: Content
    • Copy to output directory
  • Tuettuja tiedostomuotoja tällä hetkellä:
    • Kuvat: png, jpg, xnb
    • Äänet: wav, xnb (ei toimi toistaiseksi, selvitetään)
    • Musiikki: xnb + wma, mp3?
    • Teksti: txt
    • Ei vielä tukea efekteille
  • xnb-tiedostomuotoon kääntäminen onnistuu Windowsilla, toistaiseksi ei keinoa macilla
    • Visual Studio 2010: tee xna-peli, lisää tiedostot contentiin, käännä, kopioi käännetyt xnb-tiedostot bin-hakemistosta
    • XNA Content Compiler (itsenäinen ohjelma, latauslinkki exeen, projektin sivut)

Kommentteja ja palautetta

  • tämän otsikon alle voi laittaa kommentteja ja palautetta.
  • palautetta voi lähettää myös: pelik2009.group@…