07.12.2012 Views

Adobe Director Basics

Adobe Director Basics

Adobe Director Basics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ADOBE DIRECTOR BASICS<br />

3D: Controlling appearance<br />

-- Lingo<br />

put member("3D").texture(1)<br />

-- texture("DefaultTexture")<br />

put member("3D").texture("LENOIR")<br />

-- texture("Lenoir")<br />

// JavaScript<br />

trace (member("3D").getPropRef("texture", 1))<br />

// <br />

Note: You can obtain the name of a texture if you know its index number, but there is no shortcut for finding the index<br />

number of a texture from its name.<br />

When using JavaScript in <strong>Director</strong> 11.5, there is no way to access a texture by its name. You must use the syntax<br />

a3DMember.getPropRef(“texture”, aIndex).<br />

When you delete a texture, the index numbers of other textures may change. Textures imported in a W3D are already<br />

applied to shaders for different models. Textures for overlays, backdrops, and particle systems can only be applied at<br />

runtime. You can get and set the textures for any of these objects using these expressions:<br />

aShader.texture<br />

aShader.textureList[aIndex]<br />

aCamera.overlay[aIndex].source<br />

aCamera.backdrop[aIndex].source<br />

aParticleResource.texture<br />

Here are some examples:<br />

--Lingo<br />

vSprite = sprite(1)<br />

vMember = vSprite.member<br />

put vMember.model(2).shader.texture<br />

-- texture("Wood")<br />

vMember.model(3).shader.textureList = vMember.texture("Stone")<br />

vSprite.camera(2).overlay[3].source = vMember.texture("North")<br />

vMember.modelResource("Fire").texture = vMember.texture("Flame")<br />

// JavaScript<br />

vSprite = sprite(1);<br />

vMember = vSprite.member;<br />

trace (vMember.getPropRef("model", 1).getProp("shader").getProp("texture"));<br />

// <br />

vStoneTexture = vMember.getPropRef("texture", 2);<br />

vMember.getPropRef("model", 1).getProp("shader").setProp("textureList", vStoneTexture;<br />

vNorthTexture = vMember.getPropRef("texture", 3);<br />

sprite(1).camera.getPropRef("overlay", 4).source = vNorthTexture;<br />

Replace sprite(1).camera with an expression exquivalent to sprite(1).camera(2)<br />

vFireParticle = vMember.getPropRef("modelResource", 5);<br />

vFlameTexture = vMember.getPropRef("texture", 6);<br />

vParticle.texture = vFlameTexture<br />

Counting textures<br />

To determine how many textures are stored in the texture palette of a 3D member, you can use the member3D.count<br />

property (Lingo) or the member3D.count() function (JavaScript):<br />

Last updated 8/26/2011<br />

142

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!