MaterialVariant
Class
Extends Material
Module: cc
Parent Module: cc
Material Variant is an extension of the Material Asset.
Changes to Material Variant do not affect other Material Variant or Material Asset,
and changes to Material Asset are synchronized to the Material Variant.
However, when a Material Variant had already modifies a state, the Material Asset state is not synchronized to the Material Variant.
Index
Properties
loaded
Boolean
Whether the asset is loaded or not
url
String
Points to the true url of this asset's native object, only valid when asset is loaded and asyncLoadAsset is not enabled.
nativeUrl
String
Returns the url of this asset's native object, if none it will returns an empty string.
_native
String
Serializable url for native asset.
_nativeAsset
Object
The underlying native asset of this asset if one is available.
_uuid
String
_name
String
_objFlags
Number
name
String
The name of the object.
isValid
Boolean
Indicates whether the object is not yet destroyed.
Methods
Details
Properties
loaded
Whether the asset is loaded or not
url
Points to the true url of this asset's native object, only valid when asset is loaded and asyncLoadAsset is not enabled.
The difference between nativeUrl and url is that the latter is final path, there is no needs to transform url by md5 and subpackage.
Besides, url may points to temporary path or cached path on mini game platform which has cache mechanism (WeChat etc).
If you want to make use of the native file on those platforms, you should use url instead of nativeUrl.
nativeUrl
Returns the url of this asset's native object, if none it will returns an empty string.
_native
Serializable url for native asset.
_nativeAsset
The underlying native asset of this asset if one is available.
This property can be used to access additional details or functionality releated to the asset.
This property will be initialized by the loader if _native
is available.
_uuid
_name
_objFlags
name
The name of the object.
Examples
obj.name = "New Obj";
isValid
Indicates whether the object is not yet destroyed. (It will not be available after being destroyed)
When an object's destroy
is called, it is actually destroyed after the end of this frame.
So isValid
will return false from the next frame, while isValid
in the current frame will still be true.
If you want to determine whether the current frame has called destroy
, use cc.isValid(obj, true)
,
but this is often caused by a particular logical requirements, which is not normally required.
Examples
var node = new cc.Node();
cc.log(node.isValid);
node.destroy();
cc.log(node.isValid);
cc.log(node.isValid);
Methods
createWithBuiltin
Parameters
create
Parameters
setProperty
Sets the Material property
Parameters
getProperty
Gets the Material property.
Parameters
define
Sets the Material define.
Parameters
getDefine
Gets the Material define.
Parameters
setCullMode
Sets the Material cull mode.
Parameters
setDepth
Sets the Material depth states.
Parameters
setBlend
Sets the Material blend states.
Parameters
setStencilEnabled
Sets whether enable the stencil test.
Parameters
setStencil
Sets the Material stencil render states.
Parameters
toString
Returns the asset's url.
The Asset
object overrides the toString()
method of the Object
object.
For Asset
objects, the toString() method returns a string representation of the object.
JavaScript calls the toString() method automatically when an asset is to be represented as a text value or when a texture is referred to in a string concatenation.
serialize
应 AssetDB 要求提供这个方法
createNode
Create a new node using this asset in the scene.
If this type of asset dont have its corresponding node type, this method should be null.
Parameters
_setRawAsset
Set native file name for this asset.
Parameters
destroy
Destroy this Object, and release all its own references to other objects.
Actual object destruction will delayed until before rendering.
From the next frame, this object is not usable any more.
You can use cc.isValid(obj) to check whether the object is destroyed before accessing it.
Examples
obj.destroy();
_destruct
Clear all references in the instance.
NOTE: this method will not clear the getter or setter functions which defined in the instance of CCObject.
You can override the _destruct method if you need, for example:
_destruct: function () {
for (var key in this) {
if (this.hasOwnProperty(key)) {
switch (typeof this[key]) {
case 'string':
this[key] = '';
break;
case 'object':
case 'function':
this[key] = null;
break;
}
}
}
_onPreDestroy
Called before the object being destroyed.
_serialize
The customized serialization for this object. (Editor Only)
Parameters
_deserialize
Init this object from the custom serialized data.
Parameters
data
Object the serialized json data
ctx
_Deserializer