Browse Source

Funktionalität zu Welt2D hinzugefügt

Kolja Strohm 5 years ago
parent
commit
0a93a2cbcc
8 changed files with 110 additions and 101 deletions
  1. 15 15
      DX12PixelShader.h
  2. 21 21
      DX12VertexShader.h
  3. 14 14
      Framework.vcxproj.filters
  4. 7 16
      Kamera2D.cpp
  5. 16 16
      UIPixelShader.h
  6. 19 19
      UIVertexShader.h
  7. 16 0
      Welt2D.cpp
  8. 2 0
      Welt2D.h

+ 15 - 15
DX12PixelShader.h

@@ -92,10 +92,10 @@ ret
 
 const BYTE DX12PixelShaderBytes[] =
 {
-     68,  88,  66,  67, 190, 239, 
-    104, 179, 151, 186, 105, 193, 
-    169,  63,   7, 146,  55,   8, 
-    117, 153,   1,   0,   0,   0, 
+     68,  88,  66,  67,   2, 190, 
+    164,   0, 222, 176,  36, 219, 
+     76,  94, 220,  98, 188, 208, 
+    120, 194,   1,   0,   0,   0, 
     184,  91,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
      36,   2,   0,   0, 188,   2, 
@@ -763,11 +763,11 @@ const BYTE DX12PixelShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0, 148,  46, 
-     49,   1, 113, 152, 137,  92, 
-      1,   0,   0,   0, 124, 158, 
-    153, 251, 159,  66, 151,  68, 
-    147,  83, 122,  62, 212, 110, 
-     43, 112,   0,   0,   0,   0, 
+     49,   1,  12, 251, 140,  92, 
+      1,   0,   0,   0, 174, 126, 
+    184, 122, 206,  33, 107,  78, 
+    156,  60, 191, 108,  82,  56, 
+     52, 160,   0,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1788,7 +1788,7 @@ const BYTE DX12PixelShaderBytes[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  27, 226, 
      48,   1, 128,   0,   0,   0, 
-     83, 240, 158,  60, 248, 217, 
+    100, 100,  81, 198, 252, 219, 
     212,   1,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -3427,7 +3427,7 @@ const BYTE DX12PixelShaderBytes[] =
       2,   0,   9,   0, 220,   4, 
       0,   0,   0,   0,   0,   0, 
     156,   1,   0,   0,   1,   0, 
-      0,   0, 104, 122, 140,   3, 
+      0,   0, 184, 123,   4,   3, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 109,  97, 105, 110, 
       0, 110, 111, 110, 101,   0, 
@@ -3494,10 +3494,10 @@ const BYTE DX12PixelShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-    113, 152, 137,  92,   1,   0, 
-      0,   0, 124, 158, 153, 251, 
-    159,  66, 151,  68, 147,  83, 
-    122,  62, 212, 110,  43, 112, 
+     12, 251, 140,  92,   1,   0, 
+      0,   0, 174, 126, 184, 122, 
+    206,  33, 107,  78, 156,  60, 
+    191, 108,  82,  56,  52, 160, 
     137,   0,   0,   0,  47,  76, 
     105, 110, 107,  73, 110, 102, 
     111,   0,  47, 110,  97, 109, 

+ 21 - 21
DX12VertexShader.h

@@ -129,10 +129,10 @@ ret
 
 const BYTE DX12VertexShaderBytes[] =
 {
-     68,  88,  66,  67, 169, 254, 
-     17,  20,  42, 189, 210,  28, 
-    180, 148, 103, 154, 207,  29, 
-     88, 138,   1,   0,   0,   0, 
+     68,  88,  66,  67, 211, 209, 
+     51, 133, 143,  65, 184, 255, 
+     60, 126, 102,  75,  45,  80, 
+     95, 104,   1,   0,   0,   0, 
     108,  78,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
     124,   2,   0,   0,  16,   3, 
@@ -915,11 +915,11 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 113, 152, 
-    137,  92,   1,   0,   0,   0, 
-     35,  54, 114, 225,  15,  96, 
-     15,  70, 135,  29, 249, 225, 
-     68,  90, 178, 252,   0,   0, 
+    148,  46,  49,   1,  13, 251, 
+    140,  92,   1,   0,   0,   0, 
+    152, 153, 173,  92, 216,  48, 
+     16,  67, 156, 210, 119,  58, 
+     46,  38,  39, 101,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -1095,7 +1095,7 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0, 103, 159,   1,   0, 
     179, 120,   1,   0, 238,  97, 
       2,   0,  90,  28,   0,   0, 
-    186, 102,   1,   0,  53, 174, 
+     38,   8,   0,   0,  53, 174, 
       3,   0, 206,  21,   0,   0, 
     193, 205,   3,   0, 207, 193, 
       1,   0,  62,   3,   3,   0, 
@@ -1684,8 +1684,8 @@ const BYTE DX12VertexShaderBytes[] =
     111, 110,  59,  13,  10, 125, 
      59,  13,  10,  13,  10,  47, 
      27, 226,  48,   1, 128,   0, 
-      0,   0, 201, 218, 215,  60, 
-    248, 217, 212,   1,   1,   0, 
+      0,   0, 238,  82, 154, 198, 
+    252, 219, 212,   1,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2200,7 +2200,7 @@ const BYTE DX12VertexShaderBytes[] =
      12,  16,   0,   0,   1,   0, 
       1,   0,  14,   0,  23,  21, 
      13,  16,   0,   0,  36,   2, 
-     64, 123,   0,   0, 242, 241, 
+    112, 106,   0,   0, 242, 241, 
      10,   0,  24,  21,  14,  16, 
       0,   0,   1,   0,   0,   2, 
      18,   0,  22,  21,  10,  16, 
@@ -3148,19 +3148,19 @@ const BYTE DX12VertexShaderBytes[] =
       1,   0,   0,   0,   0,   0, 
       0,   0,  24,   4,   0,   0, 
      32,   0,   0,  96,   0,   0, 
-    178, 252,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       9,   0, 132,   5,   0,   0, 
       0,   0,   0,   0, 236,   2, 
       0,   0,   1,   0,   0,   0, 
-    216, 121,  51,   3,   0,   0, 
+     40, 123,  48,   3,   0,   0, 
       0,   0,   0,   0,   0,   0, 
     109,  97, 105, 110,   0, 110, 
     111, 110, 101,   0,   0,   0, 
      45, 186,  46, 241,   1,   0, 
       0,   0,   0,   0,   0,   0, 
      24,   4,   0,   0,  32,   0, 
-      0,  96,   0,   0, 178, 252, 
+      0,  96,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   2,   0, 
       7,   0,   0,   0,   0,   0, 
@@ -3219,11 +3219,11 @@ const BYTE DX12VertexShaderBytes[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 113, 152, 
-    137,  92,   1,   0,   0,   0, 
-     35,  54, 114, 225,  15,  96, 
-     15,  70, 135,  29, 249, 225, 
-     68,  90, 178, 252, 138,   0, 
+    148,  46,  49,   1,  13, 251, 
+    140,  92,   1,   0,   0,   0, 
+    152, 153, 173,  92, 216,  48, 
+     16,  67, 156, 210, 119,  58, 
+     46,  38,  39, 101, 138,   0, 
       0,   0,  47,  76, 105, 110, 
     107,  73, 110, 102, 111,   0, 
      47, 110,  97, 109, 101, 115, 

+ 14 - 14
Framework.vcxproj.filters

@@ -28,9 +28,6 @@
     <Filter Include="Headerdateien\Framework\Grafik\2D">
       <UniqueIdentifier>{98ccc730-0ee3-4075-bfba-8998571c99e5}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Headerdateien\Framework\Grafik\DX">
-      <UniqueIdentifier>{cbb56eda-8286-4f8b-9a06-47b5af838106}</UniqueIdentifier>
-    </Filter>
     <Filter Include="Quelldateien\Framework">
       <UniqueIdentifier>{c35d3344-6ec8-4fa4-b32c-1976b6520a35}</UniqueIdentifier>
     </Filter>
@@ -73,7 +70,10 @@
     <Filter Include="Headerdateien\Framework\Data">
       <UniqueIdentifier>{e98f9380-b926-4d7d-9da5-526f9b65e0cc}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Headerdateien\Framework\Grafik\DX\Shader">
+    <Filter Include="Headerdateien\Framework\Grafik\4D\DX">
+      <UniqueIdentifier>{cbb56eda-8286-4f8b-9a06-47b5af838106}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik\4D\DX\Shader">
       <UniqueIdentifier>{37ae3fd2-27b5-4878-a15c-2c7fe2c8779f}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
@@ -124,7 +124,7 @@
       <Filter>Headerdateien\Framework\Objekte2D</Filter>
     </ClInclude>
     <ClInclude Include="Bildschirm.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="Betriebssystem.h">
       <Filter>Headerdateien\Framework\OS</Filter>
@@ -142,7 +142,7 @@
       <Filter>Headerdateien\Framework\Grafik\2D</Filter>
     </ClInclude>
     <ClInclude Include="RenderThread.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="MausEreignis.h">
       <Filter>Headerdateien\Framework</Filter>
@@ -223,7 +223,7 @@
       <Filter>Headerdateien\Framework\Grafik\3D</Filter>
     </ClInclude>
     <ClInclude Include="DXBuffer.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="Cube.h">
       <Filter>Headerdateien\Framework\Objekte3D</Filter>
@@ -241,7 +241,7 @@
       <Filter>Headerdateien\Framework\Objekte3D</Filter>
     </ClInclude>
     <ClInclude Include="Shader.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="Animation.h">
       <Filter>Headerdateien\Framework\Objekte2D</Filter>
@@ -310,13 +310,13 @@
       <Filter>Headerdateien\Framework</Filter>
     </ClInclude>
     <ClInclude Include="GraphicsApi.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="DLLRegister.h">
       <Filter>Headerdateien\Framework\OS</Filter>
     </ClInclude>
     <ClInclude Include="DXCommandQueue.h">
-      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX</Filter>
     </ClInclude>
     <ClInclude Include="UIDialog.h">
       <Filter>Headerdateien\Framework\Objekte2D</Filter>
@@ -527,16 +527,16 @@
   </ItemGroup>
   <ItemGroup>
     <FxCompile Include="DX12VertexShader.hlsl">
-      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX\Shader</Filter>
     </FxCompile>
     <FxCompile Include="DX11VertexShader.hlsl">
-      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX\Shader</Filter>
     </FxCompile>
     <FxCompile Include="DX11PixelShader.hlsl">
-      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX\Shader</Filter>
     </FxCompile>
     <FxCompile Include="DX12PixelShader.hlsl">
-      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+      <Filter>Headerdateien\Framework\Grafik\4D\DX\Shader</Filter>
     </FxCompile>
   </ItemGroup>
   <ItemGroup>

+ 7 - 16
Kamera2D.cpp

@@ -37,6 +37,7 @@ void Kamera2D::setName( Text *name )
 
 void Kamera2D::lookAtWorldPos( int x, int y )
 {
+    rend |= wPos != Punkt( x, y );
     wPos.x = (float)x;
     wPos.y = (float)y;
     if( welt && welt->getWorldInfo().hasSize && welt->getWorldInfo().circular )
@@ -54,18 +55,7 @@ void Kamera2D::lookAtWorldPos( int x, int y )
 
 void Kamera2D::lookAtWorldPos( Vertex pos )
 {
-    wPos = pos;
-    if( welt && welt->getWorldInfo().hasSize && welt->getWorldInfo().circular )
-    {
-        if( wPos.x < 0 )
-            wPos.x += (float)welt->getWorldInfo().size.x;
-        if( wPos.y < 0 )
-            wPos.y += (float)welt->getWorldInfo().size.y;
-        if( wPos.x > welt->getWorldInfo().size.x )
-            wPos.x -= (float)welt->getWorldInfo().size.x;
-        if( wPos.y > welt->getWorldInfo().size.y )
-            wPos.y -= (float)welt->getWorldInfo().size.y;
-    }
+    lookAtWorldPos( (int)pos.x, (int)pos.y );
 }
 
 void Kamera2D::lookAtWorldArea( int width, int height )
@@ -76,11 +66,13 @@ void Kamera2D::lookAtWorldArea( int width, int height )
 
 void Kamera2D::setDrehung( float rotation )
 {
+    rend |= this->rotation != rotation;
     this->rotation = rotation;
 }
 
 void Kamera2D::setZoom( float zoom )
 {
+    rend |= this->zoom != zoom;
     this->zoom = zoom;
 }
 
@@ -90,15 +82,14 @@ void Kamera2D::setWelt( Welt2D *welt, bool tick )
         this->welt->release();
     this->welt = welt;
     tickWelt = tick;
+    rend = 1;
 }
 
 bool Kamera2D::tick( double time )
 {
-    bool ret = rend;
-    rend = 0;
     if( welt && tickWelt )
-        ret |= welt->tick( time );
-    return ret | ZeichnungHintergrund::tick( time );
+        rend |= welt->tick( time );
+    return ZeichnungHintergrund::tick( time );
 }
 
 void Kamera2D::render( Bild &zRObj )

+ 16 - 16
UIPixelShader.h

@@ -262,10 +262,10 @@ ret
 
 const BYTE UIPixelShader[] =
 {
-     68,  88,  66,  67, 243,  71, 
-     59,  75, 253,  41, 179, 219, 
-     32, 199, 108,  58,   5,  56, 
-    140,  79,   1,   0,   0,   0, 
+     68,  88,  66,  67, 125, 242, 
+    155, 105, 123, 253, 105, 247, 
+    177,  86,  32,  33,   0,  18, 
+      5, 129,   1,   0,   0,   0, 
     136, 104,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
     124,   5,   0,   0,  12,   6, 
@@ -1480,10 +1480,10 @@ const BYTE UIPixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-    113, 152, 137,  92,   1,   0, 
-      0,   0,   4, 109, 104, 217, 
-    199, 161, 245,  74, 130, 233, 
-      2, 219, 172,  31, 120, 208, 
+     13, 251, 140,  92,   1,   0, 
+      0,   0,  44, 216,  45, 141, 
+    122,  47, 122,  75, 176,  29, 
+    194, 240, 190,  47,  29, 134, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
@@ -2419,8 +2419,8 @@ const BYTE UIPixelShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      27, 226,  48,   1, 128,   0, 
-      0,   0,  18,   3, 251,  60, 
-    248, 217, 212,   1,   1,   0, 
+      0,   0,  56, 173, 195, 198, 
+    252, 219, 212,   1,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -4400,7 +4400,7 @@ const BYTE UIPixelShader[] =
       9,   0, 160,   7,   0,   0, 
       0,   0,   0,   0, 244,   9, 
       0,   0,   1,   0,   0,   0, 
-    104, 123, 205,   3,   0,   0, 
+     88, 120, 152,   3,   0,   0, 
       0,   0,   0,   0,   0,   0, 
      84, 101, 120, 116, 117, 114, 
     101,  80, 105, 120, 101, 108, 
@@ -4466,11 +4466,11 @@ const BYTE UIPixelShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    148,  46,  49,   1, 113, 152, 
-    137,  92,   1,   0,   0,   0, 
-      4, 109, 104, 217, 199, 161, 
-    245,  74, 130, 233,   2, 219, 
-    172,  31, 120, 208, 137,   0, 
+    148,  46,  49,   1,  13, 251, 
+    140,  92,   1,   0,   0,   0, 
+     44, 216,  45, 141, 122,  47, 
+    122,  75, 176,  29, 194, 240, 
+    190,  47,  29, 134, 137,   0, 
       0,   0,  47,  76, 105, 110, 
     107,  73, 110, 102, 111,   0, 
      47, 110,  97, 109, 101, 115, 

+ 19 - 19
UIVertexShader.h

@@ -119,10 +119,10 @@ ret
 
 const BYTE UIVertexShader[] =
 {
-     68,  88,  66,  67,  24,  30, 
-    181, 208,   6, 125,  64,  36, 
-    240, 115, 132, 173,  52, 149, 
-    229,  27,   1,   0,   0,   0, 
+     68,  88,  66,  67,  59,  66, 
+    185,  97, 135, 225,  23,  79, 
+    223, 169, 210, 227, 190, 164, 
+     24, 230,   1,   0,   0,   0, 
     168,  77,   0,   0,   6,   0, 
       0,   0,  56,   0,   0,   0, 
      20,   2,   0,   0, 168,   2, 
@@ -873,10 +873,10 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0, 148,  46,  49,   1, 
-    114, 152, 137,  92,   1,   0, 
-      0,   0, 113, 209, 207, 189, 
-     12, 118,  64,  71, 138,  83, 
-    131, 160, 221,  69,  39, 235, 
+     13, 251, 140,  92,   1,   0, 
+      0,   0, 114, 218,   1, 192, 
+     76, 217, 121,  73, 185, 188, 
+      6, 160, 212, 176, 165,  34, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
       1,   0,   0,   0,   0,   0, 
@@ -1556,8 +1556,8 @@ const BYTE UIVertexShader[] =
      32,  32,  32,  32,  32,  32, 
      32,  32,  32,  32,  32,  32, 
      27, 226,  48,   1, 128,   0, 
-      0,   0, 194, 142,  63,  61, 
-    248, 217, 212,   1,   1,   0, 
+      0,   0, 170, 185,   7, 199, 
+    252, 219, 212,   1,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -2934,13 +2934,13 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
     196,   3,   0,   0,  32,   0, 
-      0,  96,   0,   0,  39, 235, 
+      0,  96,   0,   0, 165,  34, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   2,   0,   9,   0, 
      80,   5,   0,   0,   0,   0, 
       0,   0, 236,   2,   0,   0, 
-      1,   0,   0,   0, 248, 122, 
-    140,   3,   0,   0,   0,   0, 
+      1,   0,   0,   0, 136, 123, 
+     86,   3,   0,   0,   0,   0, 
       0,   0,   0,   0,  84, 101, 
     120, 116, 117, 114, 101,  86, 
     101, 114, 116, 101, 120,  83, 
@@ -2950,7 +2950,7 @@ const BYTE UIVertexShader[] =
       1,   0,   0,   0,   0,   0, 
       0,   0, 196,   3,   0,   0, 
      32,   0,   0,  96,   0,   0, 
-     39, 235,   0,   0,   0,   0, 
+    165,  34,   0,   0,   0,   0, 
       0,   0,   0,   0,   2,   0, 
       2,   0,   7,   0,   0,   0, 
       0,   0,   1,   0, 255, 255, 
@@ -3006,11 +3006,11 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0, 148,  46, 
-     49,   1, 114, 152, 137,  92, 
-      1,   0,   0,   0, 113, 209, 
-    207, 189,  12, 118,  64,  71, 
-    138,  83, 131, 160, 221,  69, 
-     39, 235, 138,   0,   0,   0, 
+     49,   1,  13, 251, 140,  92, 
+      1,   0,   0,   0, 114, 218, 
+      1, 192,  76, 217, 121,  73, 
+    185, 188,   6, 160, 212, 176, 
+    165,  34, 138,   0,   0,   0, 
      47,  76, 105, 110, 107,  73, 
     110, 102, 111,   0,  47, 110, 
      97, 109, 101, 115,   0,  47, 

+ 16 - 0
Welt2D.cpp

@@ -290,6 +290,22 @@ void Welt2D::setCircular( bool circular )
     info.circular = circular;
 }
 
+Object2D *Welt2D::zObjectAt( int x, int y )
+{
+    for( auto o = objects->getIterator(); o; o++ )
+    {
+        if( o->istPunktInnen( Punkt( x, y ) ) )
+            return o._;
+    }
+    return 0;
+}
+
+Object2D *Welt2D::getObjectAt( int x, int y )
+{
+    Object2D *tmp = zObjectAt( x, y );
+    return tmp ? tmp->getThis() : 0;
+}
+
 void Welt2D::addObject( Object2D *obj )
 {
     objects->add( obj );

+ 2 - 0
Welt2D.h

@@ -158,6 +158,8 @@ namespace Framework
         __declspec( dllexport ) void setSize( int width, int height );
         __declspec( dllexport ) void setSize( bool hasSize );
         __declspec( dllexport ) void setCircular( bool circular );
+        __declspec( dllexport ) Object2D *zObjectAt( int x, int y );
+        __declspec( dllexport ) Object2D *getObjectAt( int x, int y );
         __declspec( dllexport ) void addObject( Object2D *obj );
         __declspec( dllexport ) void removeObject( Object2D *zObj );
         __declspec( dllexport ) void removeAll();