我试图让一个观点"滑落"另一种观点.以一组卡片为例:如果我将卡片A放在卡片B后面,卡片A仍然在那里,但它被阻止,因为卡片B是OVER或IN-FRONT-OF卡片A.
我很清楚setInvisibilty(),但这不是我正在寻找的效果.
我有一个动画,可以在屏幕上显示类似Google-Now-card的视图.在动画期间,卡片会传递卡片前面显示的一些文字(而我希望卡片在文字上方滑动).我在文本上有一个alpha动画,但是在卡片通过时它已经很稳固了.
对上述问题的任何回应或对不同方法的建议都受到高度赞赏.
问题是我无法修改我从内部编写的对象,因此创建了一个我修改并返回的克隆。但是,在其他函数中,我直接修改调用该方法的对象。我希望(人们也建议这样做)保持一致,这样用户就可以对返回的克隆执行任何他们喜欢的操作,而无需修改实际对象。
我必须在某些函数中返回对象的修改克隆,因为没有办法绕过它(据我所知)。除了标题中的问题之外,是否最好采用一致的做事方式(即使是最轻微的变化,我也会返回克隆),或者如果我在同一类中采用不同的方式来响应用户,是否可以?
[编辑]这样做是否更好:
public Image fillWithColor(Color fillColor) {
Image newImage = new Image(this.getWidth(), this.getHeight(), this.getType());
for (int x = 0; x < this.getWidth(); x++) {
for (int y = 0; y < this.getHeight(); y++) {
newImage.setPixel(x, y, fillColor.getRGB());
}
}
return newImage;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
public void fillWithColor(Color fillColor) {
for (int x = 0; x < this.getWidth(); x++) {
for (int y = 0; y < this.getHeight(); y++) {
this.setPixel(x, y, fillColor.getRGB());
}
}
}
Run Code Online (Sandbox Code Playgroud)