/// <summary> /// 为屏幕增加一个2D背景精灵描述子 /// </summary> /// <param name="id">背景层的类型:0-背景 1-前景</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="ScaleX">横向缩放比</param> /// <param name="ScaleY">纵向缩放比</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddBackground2D(int id, string source, double X, double Y, int Z, double Angle, double Opacity, double ScaleX, double ScaleY, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Background, ResourceName = source, X = X, Y = Y, Z = Z + GlobalConfigContext.GAME_Z_BACKGROUND, ScaleX = ScaleX, ScaleY = ScaleY, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.backgroundDescVec[id] = sd; }
/// <summary> /// 为屏幕增加一个2D立绘精灵描述子 /// </summary> /// <param name="id">立绘位置id号</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddCharacterStand2D(int id, string source, double X, double Y, int Z, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = X, Y = Y, Z = Z + GlobalConfigContext.GAME_Z_CHARACTERSTAND, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.characterDescVec2D[id] = sd; }
/// <summary> /// 为屏幕增加一个2D立绘精灵描述子 /// </summary> /// <param name="id">立绘位置id号</param> /// <param name="source">资源名称</param> /// <param name="cst">立绘位置枚举</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddCharacterStand2D(int id, string source, CharacterStand2DType cst, int Z, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = null; switch (cst) { case CharacterStand2DType.Left: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalConfigContext.GAME_CHARACTERSTAND_LEFT_X, Y = GlobalConfigContext.GAME_CHARACTERSTAND_LEFT_Y, Z = Z + GlobalConfigContext.GAME_Z_CHARACTERSTAND, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStand2DType.MidLeft: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalConfigContext.GAME_CHARACTERSTAND_MIDLEFT_X, Y = GlobalConfigContext.GAME_CHARACTERSTAND_MIDLEFT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStand2DType.Mid: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalConfigContext.GAME_CHARACTERSTAND_MID_X, Y = GlobalConfigContext.GAME_CHARACTERSTAND_MID_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStand2DType.MidRight: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalConfigContext.GAME_CHARACTERSTAND_MIDRIGHT_X, Y = GlobalConfigContext.GAME_CHARACTERSTAND_MIDRIGHT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStand2DType.Right: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalConfigContext.GAME_CHARACTERSTAND_RIGHT_X, Y = GlobalConfigContext.GAME_CHARACTERSTAND_RIGHT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; } this.characterDescVec2D[id] = sd; }
/// <summary> /// 为屏幕增加一个图片精灵描述子 /// </summary> /// <param name="id">图片的id</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="ScaleX">横向缩放比</param> /// <param name="ScaleY">纵向缩放比</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddPicture(int id, string source, double X, double Y, int Z, double ScaleX, double ScaleY, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Pictures, ResourceName = source, X = X, Y = Y, Z = Z + GlobalConfigContext.GAME_Z_PICTURES, ScaleX = ScaleX, ScaleY = ScaleY, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.pictureDescVec[id] = sd; }
/// <summary> /// 为屏幕增加一个立绘精灵描述子 /// </summary> /// <param name="id">立绘位置id号</param> /// <param name="source">资源名称</param> /// <param name="cst">立绘位置枚举</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddCharacterStand(int id, string source, CharacterStandType cst, int Z, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = null; switch (cst) { case CharacterStandType.Left: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalDataContainer.GAME_CHARACTERSTAND_LEFT_X, Y = GlobalDataContainer.GAME_CHARACTERSTAND_LEFT_Y, Z = Z + GlobalDataContainer.GAME_Z_CHARACTERSTAND, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStandType.MidLeft: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalDataContainer.GAME_CHARACTERSTAND_MIDLEFT_X, Y = GlobalDataContainer.GAME_CHARACTERSTAND_MIDLEFT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStandType.Mid: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalDataContainer.GAME_CHARACTERSTAND_MID_X, Y = GlobalDataContainer.GAME_CHARACTERSTAND_MID_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStandType.MidRight: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalDataContainer.GAME_CHARACTERSTAND_MIDRIGHT_X, Y = GlobalDataContainer.GAME_CHARACTERSTAND_MIDRIGHT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; case CharacterStandType.Right: sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = GlobalDataContainer.GAME_CHARACTERSTAND_RIGHT_X, Y = GlobalDataContainer.GAME_CHARACTERSTAND_RIGHT_Y, Z = Z, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; break; } this.characterDescVec[id] = sd; }
/// <summary> /// 为屏幕增加一个图片精灵描述子 /// </summary> /// <param name="id">图片的id</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddPicture(int id, string source, double X, double Y, int Z, double ScaleX, double ScaleY, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Pictures, ResourceName = source, X = X, Y = Y, Z = Z + GlobalDataContainer.GAME_Z_PICTURES, ScaleX = ScaleX, ScaleY = ScaleY, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.pictureDescVec[id] = sd; }
/// <summary> /// 为屏幕增加一个立绘精灵描述子 /// </summary> /// <param name="id">立绘位置id号</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddCharacterStand(int id, string source, double X, double Y, int Z, double Angle, double Opacity, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Stand, ResourceName = source, X = X, Y = Y, Z = Z + GlobalDataContainer.GAME_Z_CHARACTERSTAND, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.characterDescVec[id] = sd; }
/// <summary> /// 为屏幕增加一个背景精灵描述子 /// </summary> /// <param name="id">背景层的类型:0-背景 1-前景</param> /// <param name="source">资源名称</param> /// <param name="X">左上角在画面的X坐标</param> /// <param name="Y">左上角在画面的Y坐标</param> /// <param name="Z">Z坐标</param> /// <param name="Angle">角度</param> /// <param name="Opacity">不透明度</param> /// <param name="anchor">锚点类型</param> /// <param name="cut">纹理切割矩</param> public void AddBackground(int id, string source, double X, double Y, int Z, double Angle, double Opacity, double ScaleX, double ScaleY, SpriteAnchorType anchor, Int32Rect cut) { SpriteDescriptor sd = new SpriteDescriptor() { Id = id, ResourceType = ResourceType.Background, ResourceName = source, X = X, Y = Y, Z = Z + GlobalDataContainer.GAME_Z_BACKGROUND, ScaleX = ScaleX, ScaleY = ScaleY, Angle = Angle, Opacity = Opacity, AnchorType = anchor, CutRect = cut }; this.backgroundDescVec[id] = sd; }
/// <summary> /// 演绎函数:显示立绘 /// </summary> /// <param name="id">图片ID</param> /// <param name="filename">资源名称</param> /// <param name="x">X坐标</param> /// <param name="y">Y坐标</param> /// <param name="opacity">不透明度</param> /// <param name="xscale">X缩放比</param> /// <param name="yscale">Y缩放比</param> /// <param name="ro">角度</param> /// <param name="anchor">锚点</param> /// <param name="cut">纹理切割矩</param> private void Cstand(int id, string filename, double x, double y, double opacity, double xscale, double yscale, double ro, SpriteAnchorType anchor, Int32Rect cut) { Director.ScrMana.AddCharacterStand(id, filename, x, y, id, ro, opacity, anchor, cut); this.viewMana.Draw(id, ResourceType.Stand); }
/// <summary> /// 演绎函数:显示立绘 /// </summary> /// <param name="id">图片ID</param> /// <param name="filename">资源名称</param> /// <param name="locationStr">立绘位置字符串</param> /// <param name="opacity">不透明度</param> /// <param name="xscale">X缩放比</param> /// <param name="yscale">Y缩放比</param> /// <param name="ro">角度</param> /// <param name="anchor">锚点</param> /// <param name="cut">纹理切割矩</param> private void Cstand(int id, string filename, string locationStr, double opacity, double xscale, double yscale, double ro, SpriteAnchorType anchor, Int32Rect cut) { CharacterStandType cst; switch (locationStr) { case "l": case "left": cst = CharacterStandType.Left; if (id == -1) { id = 0; } break; case "ml": case "midleft": cst = CharacterStandType.MidLeft; if (id == -1) { id = 1; } break; case "mr": case "midright": cst = CharacterStandType.MidRight; if (id == -1) { id = 3; } break; case "r": case "right": cst = CharacterStandType.Right; if (id == -1) { id = 4; } break; default: cst = CharacterStandType.Mid; if (id == -1) { id = 2; } break; } Director.ScrMana.AddCharacterStand(id, filename, cst, id, ro, opacity, anchor, cut); this.viewMana.Draw(id, ResourceType.Stand); }
/// <summary> /// 演绎函数:显示图片 /// </summary> /// <param name="id">图片ID</param> /// <param name="filename">资源名称</param> /// <param name="x">图片X坐标</param> /// <param name="y">图片Y坐标</param> /// <param name="opacity">不透明度</param> /// <param name="xscale">X缩放比</param> /// <param name="yscale">Y缩放比</param> /// <param name="ro">角度</param> /// <param name="anchor">锚点</param> /// <param name="cut">纹理切割矩</param> private void Picture(int id, string filename, double x, double y, double opacity, double xscale, double yscale, double ro, SpriteAnchorType anchor, Int32Rect cut) { Director.ScrMana.AddPicture(id, filename, x, y, id, xscale, yscale, ro, opacity, anchor, cut); this.viewMana.Draw(id, ResourceType.Pictures); }