mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-11-18 02:16:23 -05:00
fixed onHover bug in d2ui.Sprite
This commit is contained in:
parent
27270e7d98
commit
8b557062fb
@ -34,17 +34,25 @@ func (ui *UIManager) NewSprite(animationPath, palettePath string) (*Sprite, erro
|
||||
|
||||
base := NewBaseWidget(ui)
|
||||
|
||||
return &Sprite{
|
||||
sprite := &Sprite{
|
||||
BaseWidget: base,
|
||||
animation: animation,
|
||||
Logger: ui.Logger,
|
||||
}, nil
|
||||
}
|
||||
|
||||
sprite.SetVisible(false)
|
||||
|
||||
ui.addWidget(sprite)
|
||||
|
||||
return sprite, nil
|
||||
}
|
||||
|
||||
// Render renders the sprite on the given surface
|
||||
func (s *Sprite) Render(target d2interface.Surface) {
|
||||
_, frameHeight := s.animation.GetCurrentFrameSize()
|
||||
|
||||
s.width, s.height = s.animation.GetCurrentFrameSize()
|
||||
|
||||
target.PushTranslation(s.x, s.y-frameHeight)
|
||||
defer target.Pop()
|
||||
|
||||
@ -90,11 +98,6 @@ func (s *Sprite) RenderSegmented(target d2interface.Surface, segmentsX, segments
|
||||
}
|
||||
}
|
||||
|
||||
// GetSize returns the size of the current frame
|
||||
func (s *Sprite) GetSize() (width, height int) {
|
||||
return s.GetCurrentFrameSize()
|
||||
}
|
||||
|
||||
// GetFrameSize gets the Size(width, height) of a indexed frame.
|
||||
func (s *Sprite) GetFrameSize(frameIndex int) (x, y int, err error) {
|
||||
return s.animation.GetFrameSize(frameIndex)
|
||||
|
Loading…
Reference in New Issue
Block a user