Pakket | fl.motion |
Klasse | public class KeyframeBase |
Overerving | KeyframeBase Object |
Subklassen | Keyframe |
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
position
, scale
, rotation
, skew
en color
. Om KeyframeBase te gebruiken, moeten alle eigenschappen waarden hebben voor elke KeyframeBase, en moet voor elk frame in de beweging een KeyframeBase zijn gedefinieerd. Binnen een bewegingstween kan elke tijdindex maar één hoofdframe hebben. Een hoofdframe heeft nog andere eigenschappen, zoals blend mode
, filters
en cacheAsBitmap
, die altijd beschikbaar zijn. Een hoofdframe heeft bijvoorbeeld altijd een overvloeimodus (blend mode).
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
adjustColorObjects : Dictionary = null
Hiermee worden AdjustColor-instanties opgeslagen die zijn toegewezen aan hun corresponderende index in de filterarray voor dit hoofdframe. | KeyframeBase | ||
blank : Boolean = false
Geeft aan dat het doelobject niet op dit hoofdframe moet worden weergegeven. | KeyframeBase | ||
blendMode : String = "normal"
Een waarde uit de klasse BlendMode die opgeeft hoe Flash Player de kleuren van het weergaveobject moet mengen met de afbeeldingen eronder. | KeyframeBase | ||
cacheAsBitmap : Boolean = false
Indien ingesteld op true, plaatst Flash Player een interne bitmaprepresentatie van het weergaveobject in cache. | KeyframeBase | ||
color : Color
Een object Color dat de kleurtransformatie in het doelobject aanpast. | KeyframeBase | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
filters : Array
Een array die elk filterobject bevat dat op een specifiek hoofdframe op het doelobject moet worden toegepast. | KeyframeBase | ||
firstFrame : String
Hiermee wordt de naam van het eerste frame voor bewegingstweens opgeslagen; dit beïnvloedt alleen grafische symbolen. | KeyframeBase | ||
index : int
De unieke tijdwaarde van het hoofdframe in de bewegingstween. | KeyframeBase | ||
label : String
Een tekenreeks die wordt gebruikt om het hoofdframe te beschrijven. | KeyframeBase | ||
loop : String
Hiermee wordt de waarde van het selectievakje Herhalen voor bewegingstweens opgeslagen; dit beïnvloedt alleen grafische symbolen. | KeyframeBase | ||
matrix : Matrix = null
Hiermee wordt eigenschap matrix opgeslagen als er een voor dit hoofdframe bestaat. | KeyframeBase | ||
matrix3D : Object = null
Hiermee wordt eigenschap matrix3d opgeslagen als er een voor dit hoofdframe bestaat. | KeyframeBase | ||
opaqueBackground : Object = null
Bepaalt of het doelobject een dekkende achtergrond heeft. | KeyframeBase | ||
orientToPath : Boolean = false
Wanneer deze eigenschap op true is ingesteld, roteert het doelobject automatisch om de hoek van het pad te volgen. | KeyframeBase | ||
rotateDirection : String = "auto"
Hiermee wordt op basis van een waarde uit de klasse RotateDirection bepaald hoe het doelobject tijdens een bewegingstween roteert. | KeyframeBase | ||
rotateTimes : uint = 0
Hiermee wordt tijdens een bewegingstween rotatie aan het doelobject toegevoegd, naast eventuele bestaande rotatie. | KeyframeBase | ||
rotation : Number
Hiermee wordt de rotatie van het doelobject in graden aangegeven vanaf de oorspronkelijke oriëntatie, zoals deze vanaf het transformatiepunt wordt toegepast. | KeyframeBase | ||
rotationConcat : Number = NaN
De rotatiewaarden (z-as) van het doelobject in de beweging ten opzichte van een eerdere oriëntatie, toegepast vanuit het transformatiepunt, in tegenstelling tot absolute rotatiewaarden en niet te verwarren met skewY-waarden. | KeyframeBase | ||
rotationX : Number = NaN
Hiermee wordt eigenschap rotationX voor dit hoofdframe opgeslagen. | KeyframeBase | ||
rotationY : Number = NaN
Hiermee wordt eigenschap rotationY voor dit hoofdframe opgeslagen. | KeyframeBase | ||
scaleX : Number = NaN
Hiermee wordt de horizontale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. | KeyframeBase | ||
scaleY : Number = NaN
Hiermee wordt de verticale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. | KeyframeBase | ||
skewX : Number = NaN
Hiermee wordt de horizontale scheeftrekhoek van het doelobject in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. | KeyframeBase | ||
skewY : Number = NaN
Hiermee wordt de verticale scheeftrekhoek van het doelobject in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. | KeyframeBase | ||
tweensLength : int [alleen-lezen]
Het aantal frames voor de tween. | KeyframeBase | ||
useRotationConcat : Boolean = false
Indien true, heeft deze eigenschap tot gevolg dat het doelobject roteert wanneer door addpropertyarray geen gegevens voor beweging zijn verstrekt. | KeyframeBase | ||
visible : Boolean = true
Bepaalt of doelobject zichtbaar is. | KeyframeBase | ||
x : Number = NaN
De horizontale positie van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. | KeyframeBase | ||
y : Number = NaN
De verticale positie van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. | KeyframeBase | ||
z : Number = NaN
De diepte-positie (z-as) van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. | KeyframeBase |
Methode | Gedefinieerd door | ||
---|---|---|---|
KeyframeBase(xml:XML = null)
Constructor voor hoofdframe-instanties. | KeyframeBase | ||
Hiermee wordt aangegeven of het hoofdframe invloed heeft op een bepaalde animatie-eigenschap. | KeyframeBase | ||
Hiermee wordt de waarde van een specifieke tweenbare eigenschap op het hoofdframe opgehaald. | KeyframeBase | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Hiermee wordt één van de vier AdjustColor-eigenschappen voor het AdjustColor-object voor de gegeven filterindex ingesteld. | KeyframeBase | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Hiermee wordt de waarde van een specifieke tweenbare eigenschap op het hoofdframe gewijzigd. | KeyframeBase | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
adjustColorObjects | eigenschap |
public var adjustColorObjects:Dictionary = null
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee worden AdjustColor
-instanties opgeslagen die zijn toegewezen aan hun corresponderende index in de filterarray voor dit hoofdframe. Dit wordt gebruikt voor de AdjustColor-filters van de Flash-ontwerpomgeving, die overeenkomen met ColorMatrixFilters in Flash Player.
blank | eigenschap |
public var blank:Boolean = false
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Geeft aan dat het doelobject niet op dit hoofdframe moet worden weergegeven.
blendMode | eigenschap |
public var blendMode:String = "normal"
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een waarde uit de klasse BlendMode die opgeeft hoe Flash Player de kleuren van het weergaveobject moet mengen met de afbeeldingen eronder.
Verwante API-elementen
cacheAsBitmap | eigenschap |
public var cacheAsBitmap:Boolean = false
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Indien ingesteld op true
, plaatst Flash Player een interne bitmaprepresentatie van het weergaveobject in cache. Deze eigenschap resulteert dikwijls in snellere rendering dan het standaardgebruik van vectoren.
color | eigenschap |
public var color:Color
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een object Color dat de kleurtransformatie in het doelobject aanpast.
filters | eigenschap |
public var filters:Array
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een array die elk filterobject bevat dat op een specifiek hoofdframe op het doelobject moet worden toegepast.
firstFrame | eigenschap |
public var firstFrame:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de naam van het eerste frame voor bewegingstweens opgeslagen; dit beïnvloedt alleen grafische symbolen. Deze eigenschap wordt gebruikt in de functie Beweging kopiëren en plakken in Flash CS4, maar heeft geen invloed op bewegingstweens die met ActionScript zijn gedefinieerd. Deze is hier opgenomen ten behoeve van de compatibiliteit met de Flex 2-compiler.
index | eigenschap |
index:int
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De unieke tijdwaarde van het hoofdframe in de bewegingstween. Het eerste frame in een bewegingstween heeft de index 0
.
Implementatie
public function get index():int
public function set index(value:int):void
label | eigenschap |
public var label:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Een tekenreeks die wordt gebruikt om het hoofdframe te beschrijven.
loop | eigenschap |
public var loop:String
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de waarde van het selectievakje Herhalen voor bewegingstweens opgeslagen; dit beïnvloedt alleen grafische symbolen. Deze eigenschap wordt gebruikt in de functie Beweging kopiëren en plakken in Flash CS4, maar heeft geen invloed op bewegingstweens die met ActionScript zijn gedefinieerd. Deze is hier opgenomen ten behoeve van de compatibiliteit met de Flex 2-compiler.
matrix | eigenschap |
public var matrix:Matrix = null
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 10, AIR 1.5, AIR 1.0 |
Hiermee wordt eigenschap matrix
opgeslagen als er een voor dit hoofdframe bestaat. matrix
wordt gebruikt voor niet-tweenframes die geen 3D hebben. U kunt ofwel de eigenschap matrix
gebruiken of de andere positie- en schalingseigenschappen (x
, y
, scaleX
, scaleY
enzovoort), maar niet beide sets tegelijk. Als matrix
een andere waarde heeft dan null, wordt deze gebruikt in plaats van andere eigenschappen (waaronder 3D-eigenschappen).
matrix3D | eigenschap |
public var matrix3D:Object = null
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 10, AIR 1.5, AIR 1.0 |
Hiermee wordt eigenschap matrix3d
opgeslagen als er een voor dit hoofdframe bestaat. matrix3d
wordt gebruikt voor niet-tweenframes die 3D bevatten. U kunt de eigenschap matrix3d
of de andere 3D-eigenschappen (z
, rotationX
, rotationY
) gebruiken, maar niet beide sets samen. Als matrix3d
een andere waarde heeft dan null, wordt deze gebruikt in plaats van andere eigenschappen (waaronder 2D-eigenschappen).
opaqueBackground | eigenschap |
public var opaqueBackground:Object = null
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS5.5 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Bepaalt of het doelobject een dekkende achtergrond heeft. De waarde is een getal waarmee de kleur wordt beschreven in de notatie 0xrrggbb. De waarde is null als er geen dekkende achtergrond is.
orientToPath | eigenschap |
public var orientToPath:Boolean = false
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Wanneer deze eigenschap op true
is ingesteld, roteert het doelobject automatisch om de hoek van het pad te volgen.
rotateDirection | eigenschap |
public var rotateDirection:String = "auto"
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt op basis van een waarde uit de klasse RotateDirection bepaald hoe het doelobject tijdens een bewegingstween roteert.
Verwante API-elementen
rotateTimes | eigenschap |
public var rotateTimes:uint = 0
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt tijdens een bewegingstween rotatie aan het doelobject toegevoegd, naast eventuele bestaande rotatie. Deze rotatie is afhankelijk van de waarde van de eigenschap rotateDirection
, die moet zijn ingesteld op RotateDirection.CW
of RotateDirection.CCW
. De waarde rotateTimes
moet een geheel getal zijn dat gelijk is aan of groter is dan nul.
Wanneer het object normaal gesproken van 0 naar 40 graden draait en u rotateTimes
op 1
en rotateDirection
op RotateDirection.CW
instelt, voegt u een volledige draai toe, met een totale rotatie van 400 graden.
rotateDirection
is ingesteld op RotateDirection.CCW
, wordt 360 graden afgetrokken van de normale rotatie, wat resulteert in een rotatie naar links van 320 graden.
Verwante API-elementen
rotation | eigenschap |
rotation:Number
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de rotatie van het doelobject in graden aangegeven vanaf de oorspronkelijke oriëntatie, zoals deze vanaf het transformatiepunt wordt toegepast. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
Implementatie
public function get rotation():Number
public function set rotation(value:Number):void
rotationConcat | eigenschap |
public var rotationConcat:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 10, AIR 1.5, AIR 1.0 |
De rotatiewaarden (z-as) van het doelobject in de beweging ten opzichte van een eerdere oriëntatie, toegepast vanuit het transformatiepunt, in tegenstelling tot absolute rotatiewaarden en niet te verwarren met skewY
-waarden.
rotationX | eigenschap |
public var rotationX:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt eigenschap rotationX
voor dit hoofdframe opgeslagen. Deze eigenschap is de rotatie van het doelobject om de x-as ten opzichte van de oorspronkelijke stand.
rotationY | eigenschap |
public var rotationY:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt eigenschap rotationY
voor dit hoofdframe opgeslagen. Deze eigenschap is de rotatie van het doelobject om de y-as ten opzichte van de oorspronkelijke stand.
scaleX | eigenschap |
public var scaleX:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de horizontale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. Een waarde van 1
is 100% van de normale grootte. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
scaleY | eigenschap |
public var scaleY:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de verticale schaal als een percentage van het object aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. Een waarde van 1
is 100% van de normale grootte. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
skewX | eigenschap |
public var skewX:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de horizontale scheeftrekhoek van het doelobject in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
skewY | eigenschap |
public var skewY:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de verticale scheeftrekhoek van het doelobject in graden aangegeven zoals deze vanaf het transformatiepunt wordt toegepast. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
tweensLength | eigenschap |
useRotationConcat | eigenschap |
public var useRotationConcat:Boolean = false
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 10, AIR 1.5, AIR 1.0 |
Indien true
, heeft deze eigenschap tot gevolg dat het doelobject roteert wanneer door addpropertyarray
geen gegevens voor beweging zijn verstrekt. Indien true
, wordt ook de eigenschap rotationConcat
gebruikt in plaats van de eigenschap rotation
. De standaardwaarde is false
.
visible | eigenschap |
public var visible:Boolean = true
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS5.5 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Bepaalt of doelobject zichtbaar is.
x | eigenschap |
public var x:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De horizontale positie van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
y | eigenschap |
public var y:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
De verticale positie van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
z | eigenschap |
public var z:Number = NaN
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 10, AIR 1.5, AIR 1.0 |
De diepte-positie (z-as) van het transformatiepunt van het doelobject in de bovenliggende coördinaatruimte. In de context van een 3D-vlak verwijst de z-as naar de diepte van een 3D-object. De waarde NaN
betekent dat het hoofdframe geen invloed heeft op deze eigenschap.
KeyframeBase | () | Constructor |
public function KeyframeBase(xml:XML = null)
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Constructor voor hoofdframe-instanties.
Parametersxml:XML (default = null ) — Optioneel E4X XML-object dat een hoofdframe in de indeling bewegings-XML definieert.
|
affectsTweenable | () | methode |
public function affectsTweenable(tweenableName:String = ""):Boolean
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt aangegeven of het hoofdframe invloed heeft op een bepaalde animatie-eigenschap.
Parameters
tweenableName:String (default = " ") — De naam van een tweenbare eigenschap, zoals "x" of "rotation" .
|
Boolean |
getValue | () | methode |
public function getValue(tweenableName:String):Number
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de waarde van een specifieke tweenbare eigenschap op het hoofdframe opgehaald.
Parameters
tweenableName:String — De naam van een tweenbare eigenschap, zoals "x" of "rotation" .
|
Number — De numerieke waarde van de tweenbare eigenschap.
|
setAdjustColorProperty | () | methode |
public function setAdjustColorProperty(filterIndex:int, propertyName:String, value:*):void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt één van de vier AdjustColor
-eigenschappen voor het AdjustColor
-object voor de gegeven filterindex ingesteld. Hiermee wordt de AdjustColor
-instantie gemaakt als deze nog niet voor die index bestaat. De volgende vier eigenschappen kunnen worden ingesteld:
- adjustColorBrightness
- adjustColorContrast
- adjustColorSaturation
- adjustColorHue
AdjustColor
-eigenschappen zijn ingesteld. Wanneer de vier eigenschappen allemaal voor een AdjustColor
-instantie zijn ingesteld, haalt de functie uit het AdjustColor
-object een vlakke array op van 20 waarden die de vier eigenschappen voorstellen, en wordt een ColorMatrixFilter
-instantie gemaakt die de afgevlakte array nodig heeft.
Parameters
filterIndex:int — De indexpositie van het filter in de filterarray die de eigenschap propertyName toevoegt.
| |
propertyName:String — Een van de vier toegestane waarden: "adjustColorBrightness" , "adjustColorContrast" , "adjustColorSaturation" of "adjustColorHue" .
| |
value:* — De waarde wordt ingesteld voor de opgegeven eigenschap.
|
Verwante API-elementen
setValue | () | methode |
public function setValue(tweenableName:String, newValue:Number):void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de waarde van een specifieke tweenbare eigenschap op het hoofdframe gewijzigd.
Parameters
tweenableName:String — De naam van een tweenbare eigenschap, zoals "x" of "rotation" .
| |
newValue:Number — Een numerieke waarde die aan de tweenbare eigenschap moet worden toegewezen.
|
Wed Jun 13 2018, 11:42 AM Z