- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
public function equals(newSprite:SpriteVO): Boolean
{
return (newSprite.x == this.x &&
newSprite.y == this.y &&
newSprite.width == this.width &&
newSprite.height == this.height &&
newSprite.scaleX == this.scaleX &&
newSprite.scaleY == this.scaleY &&
newSprite.rotation == this.rotation &&
newSprite.assetId == this.assetId &&
newSprite.asset == this.asset &&
newSprite.track == this.track &&
newSprite.flipped == this.flipped)
}
Почему-то у меня есть впечатление, что люди которые пытаются писать на языке используя приемы из другого языка, это в первую очередь люди, которые не поняли оригинальную задумку в другом языке.
Единственный случай, когда эти числа могут совпадать у двух разных объектов, это если пользователь специально попросил сдублировать объект, но в таком случае как раз таки эти объекты нужно считать разными...
Другой интересный момент, Флекс ведь тоже писали любители Явы, и поэтому какое-то подобие hashCode() там таки есть, потому что как жеж без этого... единственное, что называется оно обычно uuid и создается специальным менеджером по созданию UUID. И интерфейс соответствующий есть.
По identity они в любом случае разные. А по equality - таки одинаковые, т.к. обладают абсолютно одинаковыми свойствами.
Я так подозреваю, что автор столкнулся (возможно) с проблемой, что объекты, которые только что считались одинаковыми, вдруг поменяли какое-то из свойств, и перестали быть одинаковыми, хотя их такими уже посчитали, и (возможно) не поняв причину такого поведения решил отказаться от задумки.
Но автор еще жив и продолжает творить, так что возможно он просто сделал передышку перед следующей попыткой.