protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); state.Update(gameTime.ElapsedGameTime.Milliseconds / 1000f); state.Apply(skeleton); skeleton.UpdateWorldTransform(); skeletonRenderer.Begin(); skeletonRenderer.Draw(skeleton); skeletonRenderer.End(); bounds.Update(skeleton); MouseState mouse = Mouse.GetState(); if (bounds.AabbContainsPoint(mouse.X, mouse.Y)) { BoundingBoxAttachment hit = bounds.ContainsPoint(mouse.X, mouse.Y); if (hit != null) { headSlot.G = 0; headSlot.B = 0; } else { headSlot.G = 1; headSlot.B = 1; } } base.Draw(gameTime); }
protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); state.Update(gameTime.ElapsedGameTime.Milliseconds / 1000f); state.Apply(skeleton); skeleton.UpdateWorldTransform(); skeletonRenderer.Begin(); skeletonRenderer.Draw(skeleton); skeletonRenderer.End(); base.Draw(gameTime); }
/// <summary> /// Drawed den Package-Inhalt /// </summary> /// <param name="pSpriteBatch">SpriteBatch zum drawen von Texturen</param> /// <param name="pSkeletonRenderer">SkeletonRenderer zum drawen von Texturen</param> public void Draw(SpriteBatch pSpriteBatch, SkeletonRenderer pSkeletonRenderer) { if (!Spine) { pSpriteBatch.Draw(mTexture, mPosition, new Color(mAlpha, mAlpha, mAlpha, mAlpha)); } else { pSkeletonRenderer.Begin(); pSkeletonRenderer.Draw(mSkeleton); pSkeletonRenderer.End(); } if (EngineSettings.IsDebug) pSpriteBatch.Draw(TextureManager.Instance.GetElementByString("pixel"), mCollisionBox, mDebugColor); }
protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); state.Update(gameTime.ElapsedGameTime.Milliseconds / 1000f); state.Apply(skeleton); skeleton.UpdateWorldTransform(); if (skeletonRenderer.Effect is BasicEffect) { ((BasicEffect)skeletonRenderer.Effect).Projection = Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 1, 0); } else { skeletonRenderer.Effect.Parameters["Projection"].SetValue(Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 1, 0)); } skeletonRenderer.Begin(); skeletonRenderer.Draw(skeleton); skeletonRenderer.End(); skeletonDebugRenderer.Effect.Projection = Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 1, 0); skeletonDebugRenderer.Begin(); skeletonDebugRenderer.Draw(skeleton); skeletonDebugRenderer.End(); bounds.Update(skeleton, true); MouseState mouse = Mouse.GetState(); if (headSlot != null) { headSlot.G = 1; headSlot.B = 1; if (bounds.AabbContainsPoint(mouse.X, mouse.Y)) { BoundingBoxAttachment hit = bounds.ContainsPoint(mouse.X, mouse.Y); if (hit != null) { headSlot.G = 0; headSlot.B = 0; } } } base.Draw(gameTime); }
public override void spinerender(Spine.SkeletonRenderer renderer) { if (direction_facing == GlobalGameConstants.Direction.Right || direction_facing == GlobalGameConstants.Direction.Up || direction_facing == GlobalGameConstants.Direction.Down) { current_skeleton.Skeleton.FlipX = false; } if (direction_facing == GlobalGameConstants.Direction.Left) { current_skeleton.Skeleton.FlipX = true; } current_skeleton.Skeleton.RootBone.X = CenterPoint.X * (current_skeleton.Skeleton.FlipX ? -1 : 1); current_skeleton.Skeleton.RootBone.Y = CenterPoint.Y + (dimensions.Y / 2f); current_skeleton.Skeleton.RootBone.ScaleX = 1.0f; current_skeleton.Skeleton.RootBone.ScaleY = 1.0f; current_skeleton.Skeleton.UpdateWorldTransform(); renderer.Draw(current_skeleton.Skeleton); }
public override void Render(SkeletonRenderer skeletonRenderer, EntityWorld world, Entity entity, Renderable position) { ActivityComponent activityCom = null; DirectionComponent directionCom = null; foreach (IComponent com in world.EntityManager.GetComponents(entity)) { if (com is ActivityComponent) activityCom = com as ActivityComponent; else if (com is DirectionComponent) directionCom = com as DirectionComponent; } if (activityCom != null && activityCom.Activity != _activity) { _activity = activityCom.Activity; string animationKey = null; if (!_record.ActivityMap.TryGetValue(activityCom.Activity, out animationKey)) animationKey = _record.DefaultAnimation; string animation = ""; bool flipX = false; bool flipY = false; if (animationKey != null) { if (directionCom != null && _record.DirectedAnimationMap.ContainsKey(animationKey)) { if (_record.DirectedAnimationMap[animationKey].ContainsKey(directionCom.Direction)) { ISpineDirectionElement element = _record.DirectedAnimationMap[animationKey][directionCom.Direction]; animation = element.Animation; flipX = element.FlipX; flipY = element.FlipY; } else if (_record.DefaultAnimationMap.ContainsKey(animationKey)) animation = _record.DefaultAnimationMap[animationKey]; } else if (_record.DefaultAnimationMap.ContainsKey(animationKey)) animation = _record.DefaultAnimationMap[animationKey]; } if (_animation == null || animation != _animation.Name) { _animation = _skeleton.Data.FindAnimation(animation); _time = 0; } if (_animation == null && _skeleton.Data.Animations.Count > 0) { _animation = _skeleton.Data.Animations[0]; _time = 0; } _skeleton.FlipX = flipX; _skeleton.FlipY = flipY; } if (_animation != null) { _time += (float)world.GameTime.ElapsedGameTime.TotalSeconds; _animation.Apply(_skeleton, _time, true); } _skeleton.RootBone.X = (float)position.RenderX; _skeleton.RootBone.Y = (float)position.RenderY; _skeleton.UpdateWorldTransform(); skeletonRenderer.Draw(_skeleton); }