スプライト表示順を入れ替える必要があります。
そこで実数のソートをしているのですが、うちのPC上で
256個のデータソートですら11ms程度かかっています。
スマホで動かす事を想定すると明らかに重すぎますので、
改良点などございましたらご指摘等お願いいたします。
#define SPRITE_MAX 16 randomize ddim jData,SPRITE_MAX repeat SPRITE_MAX jData.cnt=powf(-1,rnd(2))*0.041*rnd(100)*0.0254*rnd(100) loop ;適当にSPRITE_MAX個の実数データを作る(負数、同値も許可) redraw 0 color 0,0,0:boxf color 255,255,255 repeat SPRITE_MAX ;ソート前のデータ表示 pos 0,cnt*16:mes "data"+cnt+":"+jData.cnt loop time1=gettime(7) repeat SPRITE_MAX ;ここから★ 大きい順にソート repeat SPRITE_MAX-1-minus if jData.cnt < jData.(cnt+1){ workData=jData.(cnt+1) jData.(cnt+1)=jData.cnt jData.cnt=workData } loop minus++ loop ;ここまで★ 処理を早くしたい time1=gettime(7)-time1 repeat SPRITE_MAX ;ソート後のデータ表示 pos 160,cnt*16:mes "data"+cnt+":"+jData.cnt loop pos 320,0:mes"time:"+time1+"ms" redraw 1 repeat ;escで終了 stick ky,0 if ky&&128 :end await 1 loop