पैदल आदमी उदाहरण:
मैं बिल्कुल वैसा ही कार्य के साथ पेश किया है, लेकिन मैं एक चल मकड़ी जो 6 पैर पैदल दूरी पर है और 12 फ्रेम है करना था। वास्तव में करना बहुत मुश्किल था और मुझे कुछ महीनों तक सही लगा। बात यह है कि जागने वाला आदमी उदाहरण आमतौर पर UIImageView की एनीमेशन छवि एनीमेशन में छवि फ्रेम (प्रथम चरण, अंतिम चरण) की एक सरणी सेट करके किया जाता है। फिर आप आगे बढ़ने वाले चरित्र के साथ एनीमेशन को चालू और बंद कर देते हैं और इससे चलने का भ्रम पैदा होता है। अब जब आप त्वरण का भ्रम पैदा करना चाहते हैं तो बड़ी समस्या उत्पन्न होती है। एनीमेशन प्लेबैक के दौरान एनीमेशन अवधि बदलने का कोई तरीका नहीं है और यह एक बड़ा झटका है जिसे दूर करना बहुत मुश्किल है।
यहाँ आप चलने पैर फ्रेम के साथ एक सरणी, प्रत्येक चरण में फ्रेम को परिभाषित:
यहाँ कोड है कि मैं इस मुद्दे को दूर करने के लिए उत्पादन किया है।
animationImagesSpider = [NSArray arrayWithObjects:
[UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], [UIImage imageNamed:@"[email protected]"], nil];
यहाँ आप UIImageView करने के लिए सरणी देते हैं:
imgViewSpider = [[UIImageView alloc] initWithFrame:CGRectMake(200,410,100,145)];
imgViewSpider.animationImages = animationImagesSpider;
अब अगर आप बस [imgViewSpider startAnimating] कहते हैं; यह एनीमेशन को तब तक स्थिर गति से शुरू करेगा जब तक आप इसे रोक नहीं देते। इस पर काबू पाने के लिए मैं एक प्रत्यावर्तन कि प्रत्येक चरण के लिए एक छोटी एनीमेशन नाटकों का इस्तेमाल किया है और यह प्रत्येक चरण के बीच की अवधि को समायोजित कर सकते हैं:
- (void) spiderRun {
imgViewSpider.animationDuration= 0.51-(accSp/3.5);
[imgViewSpider setAnimationRepeatCount:222]; /// this is a dummy value that has no effect because animtion ends after the first frame
[imgViewSpider startAnimating];
[self performSelector:@selector(spiderRun) withObject:nil afterDelay: 0.5-(accSp/3.5)];
}
लगातार accSp मूल्य बदलने से, मैं चलने के दौरान पैदल दूरी पर गति को नियंत्रित कर सकते हैं ।
वास्तव में मुझे लगता है कि वह अनुवाद का मतलब, गणित में अनुवाद समन्वय – MCKapur