2using System.Collections.Generic;
3using Microsoft.Xna.Framework.Input.Touch;
21 protected static readonly Predicate<Touch>
AlwaysTrigger = delegate {
return true; };
24 private TouchPanelCapabilities
caps;
42 get {
return caps.IsConnected; }
66 get {
return caps.MaximumTouchCount; }
113 if ( ( context !=
null ) == enable )
return;
118 operation( context );
135 catch (TypeLoadException)
137 this.caps =
new TouchPanelCapabilities();
140 this.touches =
new List<Touch>(
caps.MaximumTouchCount );
141 this.newTouches =
new List<Touch>(
caps.MaximumTouchCount );
159 if ( !prevOn && !currOn )
return HoverState.Off;
160 if ( !prevOn && currOn )
return HoverState.Enter;
166 return delegate(
Touch touch )
183 for (
int i = 0; i < xnaTouches.Count; i++ )
185 Touch prevTouch =
touches.Find( s => s.Id == xnaTouches[i].Id );
186 Touch thisTouch = prevTouch !=
null ? prevTouch :
new Touch(
screen, xnaTouches[i] );
189 DownListeners.ForEach( dl => dl.CheckAndInvoke( thisTouch ) );
191 if ( prevTouch ==
null )
200 thisTouch.
Update( xnaTouches[i] );
204 for (
int i = 0; i <
touches.Count; i++ )
222 var samples =
new List<Gesture>();
230 this.GestureListeners.UpdateChanges();
231 this.gestures = samples;
246 if ( l.HelpText !=
null )
247 yield
return String.Format(
"TouchPanel Press", l.HelpText );
252 if ( l.HelpText !=
null )
253 yield
return String.Format(
"TouchPanel Down", l.HelpText );
258 if ( l.HelpText !=
null )
259 yield
return String.Format(
"TouchPanel Release", l.HelpText );
272 throw new ArgumentException(
"Button state is not supported" );
408 public Listener ListenOn<T1, T2, T3>(
GameObject obj,
HoverState hoverstate,
ButtonState buttonstate,
TouchHandler<T1, T2, T3> handler,
string helpText, T1 p1, T2 p2, T3 p3 )
469 public Listener ListenOn<T1, T2, T3>(
GameObject obj,
ButtonState buttonstate,
TouchHandler<T1, T2, T3> handler,
string helpText, T1 p1, T2 p2, T3 p3 )
Vector Position
Kameran sijainti.
Vector ScreenToWorld(Vector point)
Muuntaa annetun pisteen ruutukoordinaateista maailmankoordinaatteihin.
void Zoom(double zoom)
Zoomaa.
Kuuntelukonteksti ohjaimia varten
bool Active
Onko tämä konteksti tällä hetkellä aktiivinen
ListenContext CreateSubcontext()
Muodostaa uuden ohjainkontekstin tämän lapseksi
ListenContext ControlContext
Pelin pääohjainkonteksti.
Camera Camera
Kamera, joka näyttää ruudulla näkyvän osan kentästä. Kameraa voidaan siirtää, zoomata tai asettaa seu...
static Game Instance
Käynnissä olevan pelin pääolio.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
bool IsInside(Vector point)
Onko piste p tämän olion sisäpuolella.
bool IsDestroyed
Onko olio tuhottu.
Layer Layer
Kerros, jolle peliolio on lisätty.
GestureType GestureType
Kosketuseleen tyyppi.
Vector WorldDistanceBefore
Sormien etäisyysvektori maailmassa eleen alussa.
Vector WorldDistanceAfter
Sormien etäisyysvektori maailmassa eleen lopussa.
Sisältää näytön leveyden ja korkeuden sekä reunojen koordinaatit. Y-koordinaatti kasvaa ylöspäin....
Synkroninen lista, eli lista joka päivittyy vasta kun sen Update-metodia kutsutaan....
Kosketuspaneelin kosketus.
Vector PrevPositionOnScreen
Kosketuksen edellinen paikka ruudulla.
Vector MovementOnWorld
Kosketuksen liike pelimaailmassa.
void Update(TouchLocation location)
Vector PositionOnScreen
Kosketuksen paikka ruudulla.
Touch(ScreenView screen, TouchLocation location)
Kuuntelija kosketusnäytölle.
delegate void ContextHandler(ListenContext ctx)
Listener ListenOn< T1, T2 >(GameObject obj, HoverState hoverstate, ButtonState buttonstate, TouchHandler< T1, T2 > handler, string helpText, T1 p1, T2 p2)
Kuuntelee kosketusnäyttöä olion päällä.
int ActiveChannels
Kuinka monta kosketusta näytöllä on aktiivisena.
void Clear()
Poistaa kaikki kuuntelijat.
int NumGestures
Kuinka monta elettä näytöllä on aktiivisena.
IEnumerable< string > GetHelpTexts()
Palauttaa asetettujen kuuntelijoiden ohjetekstit.
bool IsConnected
Onko kosketusnäyttö kytketty.
Predicate< Touch > MakeTriggerRule(GameObject obj, HoverState hover)
Listener ListenOn< T1, T2, T3 >(GameObject obj, HoverState hoverstate, ButtonState buttonstate, TouchHandler< T1, T2, T3 > handler, string helpText, T1 p1, T2 p2, T3 p3)
Kuuntelee kosketusnäyttöä olion päällä.
readonly SynchronousList< TouchListener > PressListeners
Listener ListenOn(GameObject obj, ButtonState buttonstate, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttöä olion päällä.
Listener Listen< T1, T2, T3 >(ButtonState state, TouchHandler handler, string helpText, T1 p1, T2 p2, T3 p3)
Kuuntelee kosketusnäyttöä.
Listener ListenOn(GameObject obj, HoverState hoverstate, ButtonState buttonstate, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttöä olion päällä.
readonly SynchronousList< TouchListener > DownListeners
TouchPanelCapabilities caps
TouchPanel(ScreenView screen)
static readonly Predicate< Touch > AlwaysTrigger
Listener ListenGesture< T1, T2, T3 >(GestureType type, TouchHandler handler, string helpText, T1 p1, T2 p2, T3 p3)
Kuuntelee kosketusnäyttön elettä.
Listener AddListener(SynchronousList< TouchListener > list, Predicate< Touch > rule, string helpText, Delegate handler, params object[] args)
static bool IsBeingTouched(ScreenView screen, Vector touchOnScreen, GameObject obj)
Kosketetaako oliota.
Listener ListenGestureOn< T1, T2 >(GameObject obj, HoverState hoverstate, GestureType type, TouchHandler handler, string helpText, T1 p1, T2 p2)
Kuuntelee kosketusnäyttön elettä olion päällä.
int NumTouches
Kuinka monta kosketusta tällä hetkellä ruudulla.
Listener Listen< T >(ButtonState state, TouchHandler handler, string helpText, T p)
Kuuntelee kosketusnäyttöä.
void setContext(ref ListenContext context, bool enable, ContextHandler operation)
Listener Listen< T1, T2 >(ButtonState state, TouchHandler handler, string helpText, T1 p1, T2 p2)
Kuuntelee kosketusnäyttöä.
ListenContext _pinchContext
Listener Listen(ButtonState state, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttöä.
Listener ListenOn< T >(GameObject obj, HoverState hoverstate, ButtonState buttonstate, TouchHandler< T > handler, string helpText, T p)
Kuuntelee kosketusnäyttöä olion päällä.
Listener ListenGestureOn(GameObject obj, HoverState hoverstate, GestureType type, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttön elettä olion päällä.
bool FollowSnipping
Seurataanko kosketusta kameralla.
Listener AddGestureListener(Predicate< Gesture > rule, string helpText, Delegate handler, params object[] args)
bool FollowPinching
Zoomataanko kameralla kun käyttäjä tekee nipistyseleen
Listener ListenGestureOn(GameObject obj, GestureType type, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttön elettä olion päällä.
Listener ListenGestureOn< T1, T2, T3 >(GameObject obj, HoverState hoverstate, GestureType type, TouchHandler handler, string helpText, T1 p1, T2 p2, T3 p3)
Kuuntelee kosketusnäyttön elettä olion päällä.
readonly SynchronousList< TouchListener > ReleaseListeners
readonly SynchronousList< TouchListener > GestureListeners
Listener ListenGestureOn< T1 >(GameObject obj, HoverState hoverstate, GestureType type, TouchHandler handler, string helpText, T1 p1)
Kuuntelee kosketusnäyttön elettä olion päällä.
Listener ListenGesture(GestureType type, TouchHandler handler, string helpText)
Kuuntelee kosketusnäyttön elettä.
Listener ListenGesture< T1, T2 >(GestureType type, TouchHandler handler, string helpText, T1 p1, T2 p2)
Kuuntelee kosketusnäyttön elettä.
int MaxTouches
Kuinka monta yhtäaikaista kosketusta näyttö tukee.
static HoverState GetHoverState(Touch touch, GameObject obj)
SynchronousList< TouchListener > GetList(ButtonState state)
Listener ListenGesture< T1 >(GestureType type, TouchHandler handler, string helpText, T1 p1)
Kuuntelee kosketusnäyttön elettä.
ListenContext _snipContext
void Update()
Lukee uuden tilan laitteelta ja päivittää sen nykyiseksi sekä laukaisee tapahtumia.
Ohjaintapahtumien kuuntelija.
Listener InContext(ListenContext context)
Kuuntelee tapahtumaa vain tietyssä kontekstissa.
ButtonState
Napin (minkä tahansa) asento.
Microsoft.Xna.Framework.Input.Touch.TouchPanel XnaTouchPanel
Microsoft.Xna.Framework.Input.Touch.GestureType XnaGestureType
delegate void TouchHandler< T >(Touch touch, T p)
HoverState
Tilatieto olion päällä olemisesta
delegate void TouchHandler< T1, T2, T3 >(Touch touch, T1 p1, T2 p2, T3 p3)
delegate void TouchHandler< T1, T2 >(Touch touch, T1 p1, T2 p2)
delegate void TouchHandler(Touch touch)
double Magnitude
Vektorin pituus.