Last week I showed how nicely both images and text can be displayed to the screen with relatively little amounts of code, but that code is not very practical from a modularity and simplicity perspective. The goal was never for developers to rely specifically on that functionality but to work as a core to build upon within sgine to provide more powerful abstractions for developers to use in order to develop with simplicity and logically.
This past weekend I spent quite a bit of time working on what I consider to be the fulfillment of that objective (or at least the beginning of) through the use of what I call Components. Components in sgine are sort of a hybrid between what would classically be a Node/Spatial in a 3D scenegraph and a Component / Widget in a standard GUI like Swing. There will be much more coming soon on this topic, but for now I'll leave you with a very short snippet to portray the same as my original example did of the puppies but using the Image component in sgine:
package org.sgine.ui
import org.sgine.core.Resource
import org.sgine.easing.Elastic
import org.sgine.property.adjust.EasingNumericAdjuster
import org.sgine.render.Renderer
import org.sgine.render.scene.RenderableScene
import org.sgine.scene.GeneralNodeContainer
object TestImage {
def main(args: Array[String]): Unit = {
val r = Renderer.createFrame(1024, 768, "Test RenderScene")
val scene = new GeneralNodeContainer()
val component = new Image()
component.location.z := -1000.0
component.source := Resource("resource/puppies.jpg")
scene += component
r.renderable := RenderableScene(scene)
}
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.