增加RadarChart、ScatterChart和HeatmapChart的起始动画效果

This commit is contained in:
monitor1394
2019-10-14 19:22:30 +08:00
parent 665f8ea2b8
commit dd5c6a2ffe
4 changed files with 49 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ namespace XCharts
{
public partial class CoordinateChart
{
protected void DrawScatterSerie(VertexHelper vh,int colorIndex, Serie serie)
protected void DrawScatterSerie(VertexHelper vh, int colorIndex, Serie serie)
{
var yAxis = m_YAxises[serie.axisIndex];
var xAxis = m_XAxises[serie.axisIndex];
@@ -16,6 +16,8 @@ namespace XCharts
int maxCount = serie.maxShow > 0 ?
(serie.maxShow > serie.dataCount ? serie.dataCount : serie.maxShow)
: serie.dataCount;
serie.animation.InitProgress(1, 0, 1);
var rate = serie.animation.GetCurrRate();
for (int n = serie.minShow; n < maxCount; n++)
{
var serieData = serie.GetDataList(m_DataZoom)[n];
@@ -37,6 +39,7 @@ namespace XCharts
{
symbolSize = serie.symbol.GetSize(datas);
}
symbolSize *= rate;
if (symbolSize > 100) symbolSize = 100;
if (serie.type == SerieType.EffectScatter)
{
@@ -53,6 +56,13 @@ namespace XCharts
DrawSymbol(vh, serie.symbol.type, symbolSize, 3, pos, color);
}
}
if (!serie.animation.IsFinish())
{
float duration = serie.animation.duration > 0 ? (float)serie.animation.duration / 1000 : 1;
float speed = 1 / duration;
serie.animation.CheckProgress(Time.deltaTime * speed);
RefreshChart();
}
}
}
}