在不同对象上多次使用 "originalWidth:int" 和 "originalHeight:int"
Use "originalWidth:int" and "originalHeight:int" several times on different objects
我正在尝试创建一个 "template",我将在其中 替换 4 张图片,每张图片都不同4 个不同按钮的不同框架上的尺寸。
但每次我更换它们时,尺寸、位置和纵横比都不应该改变。
为此,我找到了这段代码:
var originalWidth:int = button1.width / button1.scaleX;
var originalHeight:int = button1.height / button1.scaleY;
当我这样做时,它只对一个 button.But 有用:
var originalWidth:int = button1.width / button1.scaleX;
var originalHeight:int = button1.height / button1.scaleY;
var originalWidth:int = button2.width / button2.scaleX;
var originalHeight:int = button2.height / button2.scaleY;
var originalWidth:int = button3.width / button3.scaleX;
var originalHeight:int = button3.height / button3.scaleY;
var originalWidth:int = button4.width / button4.scaleX;
var originalHeight:int = button4.height / button4.scaleY;
它会触发以下错误:
- main, Layer 'actions', Frame 1, Line 37 1151: A conflict exists with definition originalWidth in namespace internal.
- main, Layer 'actions', Frame 1, Line 38 1151: 与内部命名空间中的定义 originalHeight 存在冲突。
- main, Layer 'actions', Frame 1, Line 40 1151: 存在冲突
在命名空间 internal.
中定义 originalWidth
- main, Layer 'actions', Frame 1, Line 41 1151: 存在冲突
在命名空间 internal.
中定义 originalHeight
- main, Layer 'actions', Frame 1, Line 43 1151: 存在冲突
在命名空间 internal.
中定义 originalWidth
- main, Layer 'actions', Frame 1, Line 44 1151: 存在冲突
在命名空间 internal.
中定义 originalHeight
- ComponentShim(编译剪辑),第 1 行 5000:class
'fl.core.ComponentShim' 必须 subclass 'flash.display.MovieClip' 因为
它链接到该类型的库符号。
- ComponentShim(编译剪辑),第 1 行 5000:class
'fl.controls.UIScrollBar' 必须子class 'flash.display.MovieClip'
因为它链接到该类型的库符号。
PD:
给出的解决方案只保留第一个按钮的原始大小,但不保留其余部分
错误是说您正在尝试创建与您已经在此框架或对象上创建的变量同名的变量。
// Variables on an object must have unique names
var originalWidth0:int = button1.width / button1.scaleX;
var originalHeight0:int = button1.height / button1.scaleY;
var originalWidth1:int = button2.width / button2.scaleX;
var originalHeight1:int = button2.height / button2.scaleY;
// etc.
如果您有很多按钮,请考虑将原始按钮尺寸存储在一个数组中。这避免了必须手动创建所有 'original size' 变量:
// Instance name of first button should be button0, followed by button1 etc.
// This is because we are using an array — and arrays are zero-based (first index is 0).
var numberOfButtons = 4;
var originalButtonSizes = new Array();
for(var i = 0; i < numberOfButtons; i++)
{
var originalSize = new Object();
var button = this["button" + i];
originalSize.width = button.width / button.scaleX;
originalSize.height = button.height / button.scaleY;
originalButtonSizes[i] = originalSize;
}
// Get the first button's original size
trace(originalButtonSizes[0].width);
我正在尝试创建一个 "template",我将在其中 替换 4 张图片,每张图片都不同4 个不同按钮的不同框架上的尺寸。
但每次我更换它们时,尺寸、位置和纵横比都不应该改变。
为此,我找到了这段代码:
var originalWidth:int = button1.width / button1.scaleX;
var originalHeight:int = button1.height / button1.scaleY;
当我这样做时,它只对一个 button.But 有用:
var originalWidth:int = button1.width / button1.scaleX;
var originalHeight:int = button1.height / button1.scaleY;
var originalWidth:int = button2.width / button2.scaleX;
var originalHeight:int = button2.height / button2.scaleY;
var originalWidth:int = button3.width / button3.scaleX;
var originalHeight:int = button3.height / button3.scaleY;
var originalWidth:int = button4.width / button4.scaleX;
var originalHeight:int = button4.height / button4.scaleY;
它会触发以下错误:
- main, Layer 'actions', Frame 1, Line 37 1151: A conflict exists with definition originalWidth in namespace internal.
- main, Layer 'actions', Frame 1, Line 38 1151: 与内部命名空间中的定义 originalHeight 存在冲突。
- main, Layer 'actions', Frame 1, Line 40 1151: 存在冲突 在命名空间 internal. 中定义 originalWidth
- main, Layer 'actions', Frame 1, Line 41 1151: 存在冲突 在命名空间 internal. 中定义 originalHeight
- main, Layer 'actions', Frame 1, Line 43 1151: 存在冲突 在命名空间 internal. 中定义 originalWidth
- main, Layer 'actions', Frame 1, Line 44 1151: 存在冲突 在命名空间 internal. 中定义 originalHeight
- ComponentShim(编译剪辑),第 1 行 5000:class 'fl.core.ComponentShim' 必须 subclass 'flash.display.MovieClip' 因为 它链接到该类型的库符号。
- ComponentShim(编译剪辑),第 1 行 5000:class 'fl.controls.UIScrollBar' 必须子class 'flash.display.MovieClip' 因为它链接到该类型的库符号。
PD: 给出的解决方案只保留第一个按钮的原始大小,但不保留其余部分
错误是说您正在尝试创建与您已经在此框架或对象上创建的变量同名的变量。
// Variables on an object must have unique names
var originalWidth0:int = button1.width / button1.scaleX;
var originalHeight0:int = button1.height / button1.scaleY;
var originalWidth1:int = button2.width / button2.scaleX;
var originalHeight1:int = button2.height / button2.scaleY;
// etc.
如果您有很多按钮,请考虑将原始按钮尺寸存储在一个数组中。这避免了必须手动创建所有 'original size' 变量:
// Instance name of first button should be button0, followed by button1 etc.
// This is because we are using an array — and arrays are zero-based (first index is 0).
var numberOfButtons = 4;
var originalButtonSizes = new Array();
for(var i = 0; i < numberOfButtons; i++)
{
var originalSize = new Object();
var button = this["button" + i];
originalSize.width = button.width / button.scaleX;
originalSize.height = button.height / button.scaleY;
originalButtonSizes[i] = originalSize;
}
// Get the first button's original size
trace(originalButtonSizes[0].width);