Core Animation: Hiệu ứng biến mất từ từ

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.

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🙂

– (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.

– (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. 

– (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é😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: