other various changes

This commit is contained in:
Bryce
2023-05-17 16:29:45 -07:00
parent 2b1e4ae817
commit 5966fddea7
4 changed files with 68 additions and 10 deletions

View File

@@ -3,9 +3,9 @@
:url "https://github.com/oakes/play-clj" :url "https://github.com/oakes/play-clj"
:license {:name "Public Domain" :license {:name "Public Domain"
:url "http://unlicense.org/UNLICENSE"} :url "http://unlicense.org/UNLICENSE"}
:dependencies [[com.badlogicgames.gdx/gdx "1.5.3"] :dependencies [[com.badlogicgames.gdx/gdx "1.9.5"]
[com.badlogicgames.gdx/gdx-box2d "1.5.3"] [com.badlogicgames.gdx/gdx-box2d "1.9.5"]
[com.badlogicgames.gdx/gdx-bullet "1.5.3"] [com.badlogicgames.gdx/gdx-bullet "1.9.5"]
[org.clojure/clojure "1.6.0"]] [org.clojure/clojure "1.6.0"]]
:repositories [["sonatype" :repositories [["sonatype"
"https://oss.sonatype.org/content/repositories/releases/"]] "https://oss.sonatype.org/content/repositories/releases/"]]

View File

@@ -0,0 +1,45 @@
package play_clj;
import com.badlogic.gdx.graphics.g2d.Animation;
import java.util.Arrays;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Array;
public class Animation2 extends Animation<TextureRegion> {
public Animation2(float x ,TextureRegion[] y) {
super(x, y);
}
public Animation2(float x , Array<? extends TextureRegion> y, Animation.PlayMode z) {
super(x, y, z);
}
public TextureRegion getKeyFrame(float stateTime) {
return super.getKeyFrame(stateTime);
}
public TextureRegion getKeyFrame(float stateTime, boolean looping) {
return super.getKeyFrame(stateTime, looping);
}
public TextureRegion getKeyFrame(double stateTime) {
return super.getKeyFrame((float) stateTime);
}
public TextureRegion getKeyFrame(double stateTime, boolean looping) {
return super.getKeyFrame((float)stateTime, looping);
}
public TextureRegion getKeyFrame(int stateTime) {
return super.getKeyFrame((float)stateTime);
}
public TextureRegion getKeyFrame(int stateTime, boolean looping) {
return super.getKeyFrame((float)stateTime, looping);
}
public Object[] getRawKeyFrames() {
return super.getKeyFrames();
}
}

View File

@@ -4,7 +4,9 @@
(:import [com.badlogic.gdx Files Gdx] (:import [com.badlogic.gdx Files Gdx]
[com.badlogic.gdx.files FileHandle] [com.badlogic.gdx.files FileHandle]
[com.badlogic.gdx.graphics Pixmap Texture] [com.badlogic.gdx.graphics Pixmap Texture]
[play_clj Animation2]
[com.badlogic.gdx.graphics.g2d Animation BitmapFont NinePatch [com.badlogic.gdx.graphics.g2d Animation BitmapFont NinePatch
ParticleEffect TextureAtlas TextureRegion] ParticleEffect TextureAtlas TextureRegion]
[play_clj.entities TextureEntity NinePatchEntity [play_clj.entities TextureEntity NinePatchEntity
ParticleEffectEntity])) ParticleEffectEntity]))
@@ -190,7 +192,7 @@
(defn animation* (defn animation*
[duration textures] [duration textures]
(Animation. duration (Animation2. duration
(u/gdx-array (map #(u/get-obj % :object) textures)) (u/gdx-array (map #(u/get-obj % :object) textures))
(play-mode :normal))) (play-mode :normal)))
@@ -201,14 +203,14 @@
[walk-1 walk-2 walk-3] [walk-1 walk-2 walk-3]
:set-play-mode (play-mode :loop-pingpong))" :set-play-mode (play-mode :loop-pingpong))"
[duration textures & options] [duration textures & options]
`(u/calls! ^Animation (animation* ~duration ~textures) ~@options)) `(u/calls! ^Animation2 (animation* ~duration ~textures) ~@options))
(defmacro animation! (defmacro animation!
"Calls a single method on an `animation`. "Calls a single method on an `animation`.
(animation! object :set-play-mode (play-mode :loop))" (animation! object :set-play-mode (play-mode :loop))"
[object k & options] [object k & options]
(let [object (vary-meta object assoc :tag `Animation)] (let [object (vary-meta object assoc :tag `Animation2)]
`(u/call! ~object ~k ~@options))) `(u/call! ~object ~k ~@options)))
(defn animation->texture (defn animation->texture
@@ -216,7 +218,7 @@
time the `screen` has been showing. time the `screen` has been showing.
(animation->texture screen anim)" (animation->texture screen anim)"
([{:keys [total-time] :as screen} ^Animation animation] ([{:keys [total-time] :as screen} ^Animation2 animation]
(texture* (.getKeyFrame animation total-time true))) (texture* (.getKeyFrame ^Animation2 animation total-time true)))
([{:keys [total-time] :as screen} ^Animation animation is-looping?] ([{:keys [total-time] :as screen} ^Animation2 animation is-looping?]
(texture* (.getKeyFrame animation total-time is-looping?)))) (texture* (.getKeyFrame ^Animation2 animation total-time is-looping?))))

11
texture Normal file
View File

@@ -0,0 +1,11 @@
src/play_clj/g2d.clj:(defn animation->texture
src/play_clj/g2d.clj: (animation->texture screen anim)"
doclet/resources/classes.edn: "AnimationController" {"animation-controller" :methods
doclet/resources/classes.edn: "animation-controller!" :methods}
src/play_clj/g3d.clj:; animation-controller
src/play_clj/g3d.clj:(defn animation-controller*
src/play_clj/g3d.clj:(defmacro animation-controller
src/play_clj/g3d.clj: (animation-controller model-entity)"
src/play_clj/g3d.clj: `(let [^AnimationController object# (animation-controller* ~entity)]
src/play_clj/g3d.clj:(defmacro animation-controller!
src/play_clj/g3d.clj: "Calls a single method on an `animation-controller`."