Sau Tết thật là làm biếng chết được tuy nhiên vì sự nghiệp của chúng ta và đàn em yêu dấu phải lấy lại phong độ tiếp tục vững bước trên con đường lập trình IOS đầy sỏi đá nên anh Huygamer đành phải để cái sự lười biếng lại phía sau mà tiếp tục lao động sáng tạo.

Dù rằng muốn làm biếng tiếp chết đi được nhưng vẫn phải cố gắng để làm việc tiếp thôi. Ngoài ra còn được Kevin giao cho trọng trách phát triển Box Object C nên phải lết xác ra làm việc thoai

Hôm nay là bài đầu tiên trong chuỗi bài về hiệu ứng hình ảnh mà mình đã nghiên cứu được trong 4 tuần lễ sau Tết.

* Đầu tiên chúng ta nêu hiểu về CALayer. Đây là mộ lới thuộc về Core Animation cho phép chúng ta làm những hiệu ứng đơn giản gọn nhẹ giúpp cho ứng dụng hay game của bạn trở nên sinh động hấp dẫn hơn.

1. Add framework QuartCore.framework: để có thể sử dụng được cái lệnh của CALayer.

2. Thêm phần tạo CALayer vào trong ViewDidLoad để tạo ra hình ảnh nằm trên màn hình. Ở đây là hình nằm trong game “Hitting Me S” của tui

Code:
- (void)viewDidLoad
{
    [super viewDidLoad];
    
	UIImage *image = [UIImage imageNamed:@"Dice_1.png"];
	lkLayer = [CALayer layer];
	lkLayer.contents = (id)image.CGImage;
	lkLayer.bounds = CGRectMake(0, 0, 200, 200);
	lkLayer.position = CGPointMake(160, 200);
	[self.view.layer addSublayer:lkLayer];
    
	UIGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(BienMat)];
	[self.view addGestureRecognizer:recognizer];
}
3. Sau đó chúng ta sẽ hoàn tất lệnh BienMat dành cho phần từ từ biến mất của CALayer.

Code:
- (void)BienMat {

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];

animation.toValue = [NSNumber numberWithFloat:0.0];

animation.fromValue = [NSNumber numberWithFloat:lkLayer.opacity];

animation.duration = 1.5;

lkLayer.opacity = 0.0;

[lkLayer addAnimation:animation forKey:@"animateOpacity"];

}
4. Thêm một action Appear: để hiện hình lên sau khi hình ảnh biến mất thế là chúng ta có thể thấy được sự biến mất từ từ của hình ảnh.

Code:
- (IBAction)AppearNow:(id)sender {

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];

animation.toValue = [NSNumber numberWithFloat:1.0];

animation.fromValue = [NSNumber numberWithFloat:lkLayer.opacity];

animation.duration = 1.5;

lkLayer.opacity = 1.0;

[lkLayer addAnimation:animation forKey:@"animateOpacity"];

}
So funny, right.

Những hiệu ứng tiếp theo sẽ được đưa lên trong những ngày tới. Các bạn chờ nhé