Archiv | XNA Framework RSS for this section

Augmented Reality XAML Control für WP7 und WinRT

Ich habe ja schon über Augmented Reality Theorie berichtet, aber jetzt hat Morten Nielsen in seinem Blog einen Post erstellt, wie man ein XAML Control erstellt. Das Besondere daran ist, das es nicht nur das Windows Phone unterstützt sondern auch die kommende Windows Version 8 oder besser bekannt für Entwickler Win RT.

Mit diesem Control baue ich eine Informations App für Industrieanlagen. Nun zeige ich noch einige Codeauschnitte:

<ar:ARPanel>
    <TextBlock Text="North" ar:ARPanel.Direction="0,0" />
    <TextBlock Text="East"  ar:ARPanel.Direction="0,90" />
    <TextBlock Text="South" ar:ARPanel.Direction="0,180" />
    <TextBlock Text="West"  ar:ARPanel.Direction="0,270" />
    <TextBlock Text="Up"    ar:ARPanel.Direction="90,0" />
    <TextBlock Text="Down"  ar:ARPanel.Direction="-90,0" />
</ar:ARPanel>

Abb.: AR Control Panel in Xaml

Nachfolgend noch ein Beispiel wie man den Motion Sensor in Win RT und Windows Phone gemeinsam nutzen kann.

#if WINDOWS_PHONE
    if (Microsoft.Devices.Sensors.Motion.IsSupported)
    {
        motion = new Microsoft.Devices.Sensors.Motion();
        motion.CurrentValueChanged += motion_CurrentValueChanged;
        motion.Start();
#elif WINRT
    motion = Windows.Devices.Sensors.OrientationSensor.GetDefault();
    if (motion != null)
    {
        motion.ReadingChanged += motion_CurrentValueChanged;
#endif
    }
    else
    {
        throw new InvalidOperationException("Motion sensor not supported on this device");
    }
#endif

Quellen:

Augmented Reality on Windows Phone and Windows 8 Metro style apps

 

Anbindung vom Microphone mit XNA

Für eine aktuell in Entwicklung befindliche App benötige ich das Microphone vom WP7 Handy. Mit dem Mango Update ist es ja möglich XNA und Silverlight zumischen. Einen super Post habe ich gefunden bei .net speaks. Hier wird ein Einstieg geboten wie man ganz einfach ein Micro ansprechen kann.

Windows Phone 7 - Microphone Repeater

Abb: Einfache Demo mit einem Button

Mit folgenden paar Zeilen kann das Micro eingebunden.

using Microsoft.Xna.Framework;
using
Microsoft.Xna.Framework.Audio;
using
System.IO;
using System.Windows.Threading;

Referenzen setzen.

 

Microphone mic = Microphone.Default;
byte[] data = null
;
MemoryStream audio = null;

Micro Init.

private void btnRecord_Click(object sender, RoutedEventArgs e)
{
   if (mic.State == MicrophoneState
.Stopped)
{
mic.BufferDuration = TimeSpan
.FromMilliseconds(100);
data = new byte
[mic.GetSampleSizeInBytes(mic.BufferDuration)];
audio = new MemoryStream
();
mic.Start();
      this.PageTitle.Text = „Recording…“
;
btnRecord.Content = „Stop“
;
}
   else
   {
mic.Stop();
      this.PageTitle.Text = „Playing….“
;
btnRecord.Content = „Record“
;
btnRecord.IsEnabled = false
;
PlayRecordedAudio();
      this.PageTitle.Text = „ready“
;
}
}

Schaut euch den Post mal genau an. Es ist kein großes Problem dieses in einer eigenen App einzusetzen.

Quelle:

Part 24: Windows Phone 7 – Mircophone Repeater

Windows Phone Augmented Reality Starter Kit

Auf Codeplex ist ein Projekt erschienen, wie man auf WP7 Augmented Reality Apps erstellt. Es gibt ein Starter Kit wo viele Funktionen enthalten sind.

Ein cooles Video ist zu sehen auf WindowsPhoneGeek.


Hier stehen ganz neue Möglichkeiten für die Industrie und viele andere Bereiche bereit.Schaut euch mal die Projektsite auf Codeplex.

Quelle:

Codeplex
Windows Phone Geek

 

Die Matrix : Backround Agents erstelten

Nach diesem zugegeben etwas reißerischen Titel möchte ich heute die in Mango Update enthaltenden Backround Agents vorstellen.

Auf dem MSDN Blog von Peter Torr wird in 3 Posts auf die Programmierung von Backround Agents eingegangen.

Dieses Thema klingt sehr spannend und bietet sehr viel Potenzial für neue Apps. Gerade für Tweets und Nachrichten Apps eine echter Mehrwert,

 

imageimage

 

gestartet kann so ein Agent  mit nur wenigen Zeilen:

/// <summary>
/// Starts the search agent and runs it for 1 day
/// </summary>
private void StartSearchAgent()
{
  PeriodicTask task = new PeriodicTask("twitter");
  task.Description = "Periodically checks for new tweets and updates the tile on the start screen." +
    " Will also show a toast during normal 'waking' hours (won't wake you up at night!)";
 
  task.ExpirationTime = DateTime.Now.AddDays(1);
  try
  {
    ScheduledActionService.Add(task);
  }
  catch (InvalidOperationException)
  {
    MessageBox.Show("Can't schedule agent; either there are too many other agents scheduled or you have disabled this agent in Settings.");
  }
}

image

 

Quelle:

Peter Torr MSDN Blog Part 1
Peter Torr MSDN Blog Part 2
Peter Torr MSDN Blog Part 3

 


					

Spieleentwicklung mit Silverlight und XNA unter einer Mango

Das mit dem Mango Update XNA und Silverlight nicht mehr zwei getrennte Frameworks sind, und sich der Entwickler vorher immer für eine Seite entscheiden musste ist ja bekannt. Aber wie nutzt man als Developer nun diese neuen Möglichkeiten.

Auf dem Blog von XNA-UK Usergroup wird anhand einer kleinen App gezeigt wie man diese beiden Frameworks vereint nutzen kann.

Endlich sind die 3D Rendermöglichkeiten unter Silverlight möglich, was für Game Developer sehr entscheidend ist. In diesem Post wird erst auf die neuen Frameworks ein wenig eingegangen, so das jeder erstmal weiß wie die Handhabung sich jetzt geändert hat.

image

So kann der XNA Entwickler jetzt auch Expression Blend benutzen, um sehr einfach z.B. Menüstrukturen zu erstellen.

image

Schaut euch mal die Projektstruktur an, dort kann man noch viel lernen ums sich das Leben zu vereinfachen.

Hier noch zum Abschluss das Video :

Quelle:

XNA UK Usergroup