SuperRuntimeLibrary.GameEngine 技术预览

来源:互联网 发布:北京 学编程 编辑:程序博客网 时间:2024/05/18 09:07

本人近日准备推出 用于.Net框架的游戏引擎封装类库。 以下是相关演示的代码:

public  static void DrawingSun(bool win, IntPtr f)
      {
          GameScreen fs = new GameScreen();//实例化一个游戏屏幕
          if (win)
          {
              fs.OpenWindowedScreen(f, 5, 5, 640, 480, 0, 0, 0);//窗口化屏幕
          }
          else
          {
              fs.OpenFullScreen(ScreenResolution.R640X480, ScreenColorDepth.X16, "tese");//全屏模式
          }
          Sprite s1 = new Sprite(@"sun.bmp");//新建一个精灵,精灵内容为一张图片
          Sprite s2 = new Sprite(s1);//精灵二使用精灵1为样板。
          if (s1.StartDrawing()!=0)
          { //精灵1中叠加上一个图片,使用了Alpha通道绘制

              s1.DrawAlphaImage(Image.FromFile(@"D:/My Documents/My Pictures/Logo2.gif"), 1, 1);
              s1.StopDrawing();
          }
          if (s2.StartDrawing() != 0)
          {//在精灵2上绘制一个图片。 然后画上些横杠。
              s2.DrawImage(Image.FromFile(@"D:/My Documents/My Pictures/16111111.bmp"),0,0);
              s2.FrontColor = s2.RGB(255, 0, 0);
              for (int i = 0; i < s2.Height; i += 2)
              {
                  s2.Line(0, i, s2.Width, 0);
              }

              s2.StopDrawing();
              int x = 0;
              do
              {

                  fs.Clear(fs.RGB(0, 0, 0));//游戏屏幕使用黑色清屏。
                  s1.ClipSprite(0, 0, x, x / 8);
                  s1.Display(x, 100);//显示精灵1.
                  s2.Display(x, x);
                  s1.Display(600 - x, x);
     
                  fs.FlipBuffers();
                  fs.Sleep(100);
                  x++;

              } while (500 <= x || fs.KeyIsReleased(Key.Escape) == false);
          }

          fs.Close();
      }

原创粉丝点击