This repository was archived by the owner on Dec 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
[3.0] 4: Create Entity programmatically
Yuya Matsuo edited this page Sep 27, 2016
·
1 revision
You can dynamically create Entity from XML.
Example:
<entity
geometry="primitive: plane; width: 0.8; height: 0.8"
surface="renderer: @drawable/my_image"/>If XML is located in res/xml/my_entity.xml use XmlParser.parseXmlResource(R.xml.my_entity).
// app = MeganekkoApp
XmlParser parser = app.getXmlParser();
Entity entity = parser.parseXmlResource(R.xml.my_entity);
// Set other properties not in XML
entity.setPosition(pos);
entity.setRotation(rot);
// Add to Scene (or Entity in Scene) to render it
app.getScene().add(entity);Entity can be created completely only with java code. Above example XML is same as these codes.
// <entity>
Entity entity = new Entity();
// geometry="primitive: plane; width: 0.8; height: 0.8"
float width = 0.8f;
float height = 0.8f;
GeometryComponent geometry = new GeometryComponent();
geometry.buildQuad(width, height);
entity.add(geometry);
// surface="renderer: @drawable/my_image"
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.my_image);
SurfaceRendererComponent surfaceRenderer = SurfaceRendererComponent.from(drawable);
entity.add(surfaceRenderer);