Autor Beitrag
JoKaBo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Fr 09.03.12 17:37 
Hallo,

Ich habe. Grade mit xna fürs windows phone angefangen. Jetzt bin Ich soweit das ich die Touch Abfrage brauchen Also wen Ich auf den Bildschirm ich Sage Mal den Feind treffe dan soll irgendwas passieren...

ich habe bisher das :

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
TouchCollection touchCollection = TouchPanel.GetState();
foreach (TouchLocation tl in touchCollection)
{
    if ((tl.State == TouchLocationState.Pressed)
            || (tl.State == TouchLocationState.Moved))
    {

        // add sparkles based on the touch location
        sparkles.Add(new Sparkle(tl.Position.X,
                 tl.Position.Y, ttms));

    }
}



Jetzt wurde ich das so. Machen. Mit. Hinter der bisherigen in Abfrage noch das dran hängen if(... && touchcollegtion.intersect(feinf_rec)
Aber das geht net ...

Fein_rec ist ein recangle.

Ich hoffe ihr könnt mir helfen

MfG
Jokabo


Zuletzt bearbeitet von JoKaBo am So 11.03.12 09:09, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 09.03.12 18:09 
user profile iconJoKaBo hat folgendes geschrieben Zum zitierten Posting springen:
Aber das geht net ...
Und. Was. Heißt diese äußerst Detaillierte beschreibungen? Gibt es eine Fehlermeldung das das So nicht Geht vom Compiler und wenn Ja Welche?
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Sa 10.03.12 20:04 
Hallo,

Einmal kommt die Fehlermeldung:

ausblenden Quelltext
1:
'Microsoft.Xna.Framework.Input.Touch.TouchCollection' does not contain a definition for 'Intersect' and the best extension method overload 'System.Linq.Enumerable.Intersect<TSource>(System.Collections.Generic.IEnumerable<TSource>, System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments					


und dann kommt noch die Fehlermeldung:

ausblenden Quelltext
1:
Argument 2: cannot convert from 'Microsoft.Xna.Framework.Rectangle' to 'System.Collections.Generic.IEnumerable<Microsoft.Xna.Framework.Input.Touch.TouchLocation>'					


mfg
JoKaBo
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Sa 10.03.12 20:30 
Zitat:
Jetzt wurde ich das so. Machen. Mit. Hinter der bisherigen in Abfrage noch das dran hängen if(... && touchcollegtion.intersect(feinf_rec)
Aber das geht net ...

Fein_rec ist ein recangle.


Laut Doku enthält eine TouchCollection TouchLocation Elemente. Was soll den die Schnittmenge von TouchLocations und einem Rectangle sein? Schnittmengen kann man logischerweise nur von Mengen mit gleichartigen Elementen machen. Rectangle ist keine TouchLocation. Rectangle ist nicht mal eine Aufzählung.

Wenn du rausfinden willst ob die Location in deinem Rectangle liegt kannst du die Touchlocation irgendwie in einen Point umrechnen (keine Ahnung wie ich kenne XNA nicht). Rectangle hat dann zum testen ob der Point im Rectangle liegt einen Contains Methode.