转载请注明:PSS开发网。
www.devpss.com
使用GameEngine2D开发游戏,需要脑袋中构想出整个游戏世界的坐标,
而且必要的时候还要做各种位置的变换,形状变换等。遇到这种时候,我们
都在想: 如果程序能自动标出我想要的各种信息就好了。 嘿嘿~
其实GameEngine2D早就为我们想到了这一点,下面我就来告诉大家如何利用
DebugFlags标识出我们想要的各种信息。
首先, 搭建一个最简单的GameEngine2D开发环境,如下:
我们运行一下这个程序, 就会发现屏幕上面显示了一个箭头:
1. 我们希望屏幕能像Photoshop那样显示标尺,并且标识原点坐标。那么,只需要将下面这行代码的注释去掉:
运行起来的效果是样的:
怎么样, 很有用吧! 通过这幅图我们知道, 原来那个箭头图片的起始坐标是从左下角开始的啊。
我们试着移动一下这个箭头,让它像右上方移动一个单位。 在程序中加入下面这行代码:
运行的效果是这样的:
如果我们移动屏幕的Camera, 就更加能体现出这个标尺的作用了,在程序中加入下面这行代码:
运行效果是这样的:
看到了吧,我们移动了camera的位置, 能清晰的标识出当前原点坐标在哪里,方便我们的开发。
好了,第一节先讲到这里,请期待第二节哦~~
转载请注明:PSS开发网。 www.devpss.com
使用GameEngine2D开发游戏,需要脑袋中构想出整个游戏世界的坐标,
而且必要的时候还要做各种位置的变换,形状变换等。遇到这种时候,我们
都在想: 如果程序能自动标出我想要的各种信息就好了。 嘿嘿~
其实GameEngine2D早就为我们想到了这一点,下面我就来告诉大家如何利用
DebugFlags标识出我们想要的各种信息。
首先, 搭建一个最简单的GameEngine2D开发环境,如下:
using System;
using System.Collections.Generic;
using Sce.Pss.Core;
using Sce.Pss.Core.Environment;
using Sce.Pss.Core.Graphics;
using Sce.Pss.Core.Input;
using Sce.Pss.HighLevel.GameEngine2D;
using Sce.Pss.HighLevel.GameEngine2D.Base;
namespace Test
{
public class AppMain
{
public static void Main (string[] args)
{
Sce.Pss.Core.Graphics.GraphicsContext context = new Sce.Pss.Core.Graphics.GraphicsContext();
uint sprites_capacity = 500;
uint draw_helpers_capacity = 400;
Director.Initialize( sprites_capacity, draw_helpers_capacity, context );
Director.Instance.GL.Context.SetClearColor( Colors.Grey20 );
//Director.Instance.DebugFlags |= DebugFlags.DrawGrid;
//Director.Instance.DebugFlags |= DebugFlags.DrawContentWorldBounds;
//Director.Instance.DebugFlags |= DebugFlags.DrawContentLocalBounds;
//Director.Instance.DebugFlags |= DebugFlags.DrawTransform;
//Director.Instance.DebugFlags |= DebugFlags.DrawPivot;
var scene = new Scene();
float scale = 1.5f;
var body = new SpriteUV( new TextureInfo( new Texture2D( "/Application/File/arrow.png", false ), new Vector2i(4,4) ) );
//body.CenterSprite( TRS.Local.BottomCenter );
body.Scale = body.TextureInfo.TextureSizef * scene.Camera.GetPixelSize() * scale;
body.BlendMode = BlendMode.Additive;
//body.Pivot = new Vector2(1f,0.5f);
scene.AddChild( body );
Director.Instance.RunWithScene( scene );
}
}
}
我们运行一下这个程序, 就会发现屏幕上面显示了一个箭头:
1. 我们希望屏幕能像Photoshop那样显示标尺,并且标识原点坐标。那么,只需要将下面这行代码的注释去掉:
Director.Instance.DebugFlags |= DebugFlags.DrawGrid;
运行起来的效果是样的:
怎么样, 很有用吧! 通过这幅图我们知道, 原来那个箭头图片的起始坐标是从左下角开始的啊。
我们试着移动一下这个箭头,让它像右上方移动一个单位。 在程序中加入下面这行代码:
body.Position = new Vector2(1f,1f);
运行的效果是这样的:
如果我们移动屏幕的Camera, 就更加能体现出这个标尺的作用了,在程序中加入下面这行代码:
scene.Camera2D.SetViewFromHeightAndCenter( 8.0f, new Vector2(3,3) );
运行效果是这样的:
看到了吧,我们移动了camera的位置, 能清晰的标识出当前原点坐标在哪里,方便我们的开发。
好了,第一节先讲到这里,请期待第二节哦~~
转载请注明:PSS开发网。 www.devpss.com