From d6e933194d9ca58af76192431ba0f53b8e497fae Mon Sep 17 00:00:00 2001 From: lhy6305 Date: Wed, 23 Apr 2025 00:02:59 +0800 Subject: [PATCH] git auto update --- js/libassetloader.js | 2 +- js/libpointerfx.js | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/js/libassetloader.js b/js/libassetloader.js index 07db92b..7f22f93 100644 --- a/js/libassetloader.js +++ b/js/libassetloader.js @@ -28,7 +28,7 @@ var AssetManager= {}; - // map http url -> blob url + // map http_url -> blob_url AssetManager.loadedAssets= {}; AssetManager.loading_count=0; diff --git a/js/libpointerfx.js b/js/libpointerfx.js index 715bd25..18868ca 100644 --- a/js/libpointerfx.js +++ b/js/libpointerfx.js @@ -1,4 +1,4 @@ -(function() { +(async function() { if(typeof PIXI!="object") { if(typeof loadfail=="function") { loadfail("libpointerfx.js: PIXI(type of "+(typeof PIXI)+") is not an object"); @@ -28,15 +28,29 @@ libpointerfx.fx_template_list=[]; libpointerfx.fx_instance_map= {}; - libpointerfx.fx_texture_template_chosen=PIXI.Texture.WHITE; + libpointerfx.fx_pointer_texture=PIXI.Texture.WHITE; + + // pack sprite sheet into PIXI.GifSprite + libpointerfx.fx_tail_anim_textures=[]; + var tail_base=await PIXI.Assets.load({"src":await AssetManager.loadWithCache("./assets/sprite-pointer_tail.png"), "loadParser":"loadTextures"}); + for(var i=9; i>=0; i--) { + var crop_rect = new PIXI.Rectangle(i*32, 0, 32, 32); + var t=PIXI.Texture.from(tail_base.source); + t.frame.x=i*32; + t.frame.y=0; + t.frame.width=32; + t.frame.height=32; + t.updateUvs(); + libpointerfx.fx_tail_anim_textures.push(t); + } var on_pointer_down=function(event) { var pointer_id=event.pointerType+event.pointerId; - var fx_instance = new PIXI.Sprite(libpointerfx.fx_texture_template_chosen); + var fx_instance = new PIXI.Sprite(libpointerfx.fx_pointer_texture); fx_instance.anchor.set(0.5, 0.5); fx_instance.position.copyFrom(event.global); - fx_instance.width=50; - fx_instance.height=50; + fx_instance.width=4; + fx_instance.height=4; libpointerfx.fx_instance_map[pointer_id] = fx_instance; libmain.scenes.pointer_fx.root.addChild(fx_instance); @@ -50,11 +64,16 @@ } libpointerfx.fx_instance_map[pointer_id].position.copyFrom(event.global); - var fx_instance = new PIXI.Sprite(libpointerfx.fx_texture_template_chosen); + var fx_instance = new PIXI.AnimatedSprite(libpointerfx.fx_tail_anim_textures); fx_instance.anchor.set(0.5, 0.5); fx_instance.position.copyFrom(event.global); - fx_instance.width=5; - fx_instance.height=5; + fx_instance.width=32; + fx_instance.height=32; + fx_instance.animationSpeed=0.4; + fx_instance.autoUpdate=true; + fx_instance.currentFrame=0; + fx_instance.loop=true; + fx_instance.play(); var func_remove=function() { libmain.scenes.pointer_fx.root.removeChild(fx_instance); @@ -65,7 +84,7 @@ fx_end_transition.key="alpha"; fx_end_transition.startval=1.0; fx_end_transition.endval=0.0; - fx_end_transition.duration=150; + fx_end_transition.duration=300; fx_end_transition.onend=func_remove; fx_end_transition.start(); };