Вы можете просто вернуть Object
, который равен dynamic
и, таким образом, позволяет определять значения на лету, например:
return {something: "string", another: 18};
Или:
var obj:Object = {};
obj.something = "string";
obj.another = 18;
return obj;
Но, на мой взгляд, это очень плохая практика (особенно если ваша функция - возвращать те же наборы информации с новыми значениями).
Я бы взял этот маршрут:
Вы можете создать свой собственный класс, который содержит различные свойства. Оттуда вы можете вернуть экземпляр этого объекта со свойствами, определенными по вашему желанию.
Пример:
Это будет во внешнем файле с именем CollisionData.as
package
{
public class CollisionData
{
public var x:Number = 0; // X coordinate of the collision
public var y:Number = 0; // Y coordinate of the collision
public var angle:Number = 0; // Collision angle
}
}
И ваша функция может быть:
function calculate():CollisionData
{
var col:CollisionData = new CollisionData();
// determine collision details
col.x = 115;
col.y = 62;
col.angle = 0.345;
return col;
}
Затем вы можете создать свои собственные данные о столкновениях на основе результата:
var myCollision:CollisionData = calculate();
И получить детали:
trace(
myCollision.x,
myCollision.y,
myCollision.angle
);