name、panda、appleid first name中的a读音不同的是哪一个

SWIFT语言开发的一个游戏------熊猫跑酷(KONGFUPANDA)(模仿视频教程) - 简书
SWIFT语言开发的一个游戏------熊猫跑酷(KONGFUPANDA)(模仿视频教程)
项目地址:
欢迎加QQ群:。大家一起交流iOS开发,我们可以一起学习,我很想集结一些志同道合的朋友,一起把iOS开发学好,学精,相互学习相互鼓励。
1.首先创建一个游戏项目:
2.将图片资源导入
将我项目里的
atlas整个目录
sound组里的音乐(background.mp3,fly.mp3,hit_platform.mp3,apple.mp3,hit.mp3,jump_from_platform.mp3,lose.mp3)
background组(background_f0.png,background_f1.png)
Images.xcassets的图片一个一个拷贝到相应的Images.xcassets.
3.再添加以下几个swift类
熊猫是我们游戏的主角,我给它添加了4个动作,跑,跳,翻滚,二次条,为了增加起跳时逼真性还添加了跑动增效动作。
import SpriteKit
enum Status :Int{
case run = 1, jump, jump2,roll
class Panda:SKSpriteNode {
//定义跑,跳,滚动等动作动画
let runAtlas = SKTextureAtlas(named: "run.atlas")
var runFrames = [SKTexture]()
let jumpAtlas = SKTextureAtlas(named: "jump.atlas")
var jumpFrames = [SKTexture]()
let rollAtlas = SKTextureAtlas(named: "roll.atlas")
var rollFrames = [SKTexture]()
//增加跳起的逼真效果动画
let jumpEffectAtlas = SKTextureAtlas(named: "jump_effect.atlas")
var jumpEffectFrames = [SKTexture]()
var jumpEffect = SKSpriteNode()
var status = Status.run
var jumpStart:CGFloat = 0.0
var jumpEnd:CGFloat = 0.0
let texture = runAtlas.textureNamed("panda_run_01")
let size = texture.size()
super.init(texture: texture, color: SKColor.whiteColor(), size: size)
for var i = 1; i&=runAtlas.textureNames. i++ {
let tempName = String(format: "panda_run_%.2d", i)
let runTexture = runAtlas.textureNamed(tempName)
runFrames.append(runTexture)
for var i = 1; i&=jumpAtlas.textureNames. i++ {
let tempName = String(format: "panda_jump_%.2d", i)
let jumpTexture = jumpAtlas.textureNamed(tempName)
jumpFrames.append(jumpTexture)
for var i = 1; i&=rollAtlas.textureNames. i++ {
let tempName = String(format: "panda_roll_%.2d", i)
let rollTexture = rollAtlas.textureNamed(tempName)
rollFrames.append(rollTexture)
// 跳的时候的点缀效果
for var i=1 ; i &= jumpEffectAtlas.textureNames. i++ {
let tempName = String(format: "jump_effect_%.2d", i)
let effectexture = jumpEffectAtlas.textureNamed(tempName)
jumpEffectFrames.append(effectexture)
jumpEffect = SKSpriteNode(texture: jumpEffectFrames[0])
jumpEffect.position = CGPointMake(-80, -30)
jumpEffect.hidden = true
self.addChild(jumpEffect)
self.physicsBody = SKPhysicsBody(rectangleOfSize: size)
self.physicsBody?.dynamic = true
self.physicsBody?.allowsRotation = false
self.physicsBody?.restitution = 0.1 //反弹力
self.physicsBody?.categoryBitMask = BitMaskType.panda
self.physicsBody?.contactTestBitMask = BitMaskType.scene | BitMaskType.platform | BitMaskType.apple
self.physicsBody?.collisionBitMask = BitMaskType.platform
self.zPosition = 20
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
func run(){
//清楚所有动作
self.removeAllActions()
self.status = .run
//重复跑动动作
self.runAction(SKAction.repeatActionForever(SKAction.animateWithTextures(runFrames, timePerFrame: 0.05)))
func jump(){
self.removeAllActions()
if status != .jump2 {
//Adds an action to the list of actions executed by the node.
//Creates an action that animates changes to a sprite’s texture.
self.runAction(SKAction.animateWithTextures(jumpFrames, timePerFrame: 0.05),withKey:"jump")
//The physics body’s velocity vector, measured in meters per second.
self.physicsBody?.velocity = CGVectorMake(0, 450)
if status == Status.jump {
self.runAction(SKAction.animateWithTextures(rollFrames, timePerFrame: 0.05))
status = Status.jump2
self.jumpStart = self.position.y
showJumpEffect()
status = .jump
func roll(){
self.removeAllActions()
self.status = .roll
self.runAction(SKAction.animateWithTextures(rollFrames, timePerFrame: 0.05),completion:{
self.run()
func showJumpEffect(){
jumpEffect.hidden = false
let ectAct = SKAction.animateWithTextures( jumpEffectFrames, timePerFrame: 0.05)
let removeAct = SKAction.runBlock({() in
self.jumpEffect.hidden = true
// 执行两个动作,先显示,后隐藏
jumpEffect.runAction(SKAction.sequence([ectAct,removeAct]))
import SpriteKit
class Platform:SKNode {
var width:CGFloat = 0.0
var height:CGFloat = 10.0
var isDown = false
var isShock = false
//创建平台
func onCreate(arrSprite:[SKSpriteNode]){
for platform in arrSprite {
platform.position.x = self.width
self.addChild(platform)
self.width += platform.size.width
//短到只有三小块的平台会下落
if arrSprite.count &= 3 {
isDown = true
//随机振动
let random = arc4random() % 10
if random & 6 {
isShock = true
self.height = 10.0
self.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.width, self.height),center:CGPointMake(self.width/2, 0))
self.physicsBody?.categoryBitMask = BitMaskType.platform
self.physicsBody?.dynamic = false
self.physicsBody?.allowsRotation = false
self.physicsBody?.restitution = 0
self.zPosition = 20
平台生成类
难点1:在理解平台如何生成。可以查看资源图platform_l ,platform_m,platform_r.将他们拼接到一起,根据Platfom_m的数量不同,产生不同的长度的平台。
难点2:游戏中的熊猫移动我们眼睛看以为是熊猫在跑,其实移动的是平台,通过平台向左移动,给我们的错觉是熊猫在向右跑。
import SpriteKit
class PlatformFactory:SKNode {
let textureLeft = SKTexture(imageNamed: "platform_l")
let textureMid = SKTexture(imageNamed: "platform_m")
let textureRight = SKTexture(imageNamed: "platform_r")
var platforms = [Platform]()
var screenWdith:CGFloat = 0.0
var delegate:ProtocolMainscreen?
func createPlatformRandom(){
let midNum = arc4random()%4 + 1
let gap:CGFloat = CGFloat(arc4random()%8 + 1)
let x = self.screenWdith + CGFloat(midNum*50) + gap + 100
let y = CGFloat(arc4random()%200 + 200)
createPlatform(midNum, x: x, y: y)
func createPlatform(midNum:UInt32,x:CGFloat,y:CGFloat){
let platform = Platform()
let platform_left = SKSpriteNode(texture: textureLeft)
platform_left.anchorPoint = CGPointMake(0, 0.9)
let platform_right = SKSpriteNode(texture: textureRight)
platform_right.anchorPoint = CGPointMake(0, 0.9)
var arrPlatform = [SKSpriteNode]()
arrPlatform.append(platform_left)
platform.position = CGPointMake(x, y)
for _ in 1...midNum {
let platform_mid = SKSpriteNode(texture: textureMid)
platform_mid.anchorPoint = CGPointMake(0, 0.9)
arrPlatform.append(platform_mid)
arrPlatform.append(platform_right)
platform.onCreate(arrPlatform)
platform.name = "platform"
self.addChild(platform)
platforms.append(platform)
self.delegate?.onGetData(platform.width + x - screenWdith,theY:y)
func move(speed:CGFloat){
for p in platforms {
let position = p.position
p.position = CGPointMake(position.x - speed, position.y)
if platforms[0].position.x & -platforms[0].width{
platforms[0].removeFromParent()
platforms.removeAtIndex(0)
//清楚所有的Node
func reset(){
self.removeAllChildren()
platforms.removeAll(keepCapacity: false)
背景音乐类
  生成各种音效。
import SpriteKit
class Background:SKNode {
//近处的背景
var arrBG = [SKSpriteNode]()
//远处的背景
var arrFar = [SKSpriteNode]()
override init() {
super.init()
let farTexture = SKTexture(imageNamed: "background_f1")
let farBg0 = SKSpriteNode(texture: farTexture)
farBg0.position.y = 150
farBg0.zPosition = 9
farBg0.anchorPoint = CGPointMake(0, 0)
let farBg1 = SKSpriteNode(texture: farTexture)
farBg1.position.y = 150
farBg1.zPosition = 9
farBg1.anchorPoint = CGPointMake(0, 0)
farBg1.position.x = farBg1.frame.width
let farBg2 = SKSpriteNode(texture: farTexture)
farBg2.position.y = 150
farBg2.zPosition = 9
farBg2.anchorPoint = CGPointMake(0, 0)
farBg2.position.x = farBg2.frame.width*2
self.addChild(farBg0)
self.addChild(farBg1)
self.addChild(farBg2)
arrFar.append(farBg0)
arrFar.append(farBg1)
arrFar.append(farBg2)
let texture = SKTexture(imageNamed: "background_f0")
let bg0 = SKSpriteNode(texture: texture)
bg0.anchorPoint = CGPointMake(0, 0)
bg0.position.y = 70
bg0.zPosition = 10
let bg1 = SKSpriteNode(texture: texture)
bg1.anchorPoint = CGPointMake(0, 0)
bg1.position.y = 70
bg1.zPosition = 10
bg1.position.x = bg0.frame.size.width
self.addChild(bg0)
self.addChild(bg1)
arrBG.append(bg0)
arrBG.append(bg1)
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
func move(speed:CGFloat){
for bg in arrBG {
bg.position.x -= speed
if arrBG[0].position.x + arrBG[0].frame.size.width & speed {
arrBG[0].position.x = 0
arrBG[1].position.x = arrBG[0].frame.size.width
for far in arrFar {
far.position.x -= speed/4
if arrFar[0].position.x + arrFar[0].frame.size.width & speed/4 {
arrFar[0].position.x = 0
arrFar[1].position.x = arrFar[0].frame.size.width
arrFar[2].position.x = arrFar[0].frame.size.width * 2
位运算标识类
class BitMaskType {
class var panda:UInt32 {
return 1&&0
class var platform:UInt32 {
return 1&&1
class var apple:UInt32 {
return 1&&2
class var scene:UInt32{
return 1&&3
苹果生成类
import SpriteKit
class AppleFactory:SKNode{
let appleTexture = SKTexture(imageNamed: "apple")
var sceneWidth:CGFloat = 0.0
var arrApple = [SKSpriteNode]()
var timer = NSTimer()
var theY:CGFloat = 0.0
override init() {
super.init()
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
func onInit(width:CGFloat, y:CGFloat) {
self.sceneWidth = width
self.theY = y
timer = NSTimer.scheduledTimerWithTimeInterval( 0.2, target: self, selector: "createApple", userInfo: nil, repeats: true)
func createApple(){
let random = arc4random() % 10
if random & 8 {
let apple = SKSpriteNode(texture: appleTexture)
apple.physicsBody = SKPhysicsBody(rectangleOfSize: apple.size)
apple.physicsBody!.restitution = 0
apple.physicsBody!.categoryBitMask = BitMaskType.apple
apple.physicsBody!.dynamic = false
apple.anchorPoint = CGPointMake(0, 0)
apple.zPosition = 40
apple.position
= CGPointMake(sceneWidth+apple.frame.width , theY + 150)
arrApple.append(apple)
self.addChild(apple)
func move(speed:CGFloat){
for apple in arrApple {
apple.position.x -= speed
if arrApple.count & 0 && arrApple[0].position.x & -20{
arrApple[0].removeFromParent()
arrApple.removeAtIndex(0)
func reSet(){
self.removeAllChildren()
arrApple.removeAll(keepCapacity: false)
游戏主界面类
import SpriteKit
class GameScene: SKScene,SKPhysicsContactDelegate , ProtocolMainscreen{
lazy var panda
lazy var platformFactory = PlatformFactory()
lazy var sound = SoundManager()
lazy var bg = Background()
lazy var appleFactory = AppleFactory()
let scoreLab = SKLabelNode(fontNamed:"Chalkduster")
let appLab = SKLabelNode(fontNamed:"Chalkduster")
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
var appleNum = 0
var moveSpeed :CGFloat = 15.0
var maxSpeed :CGFloat = 50.0
var distance:CGFloat = 0.0
var lastDis:CGFloat = 0.0
var theY:CGFloat = 0.0
var isLose = false
override func didMoveToView(view: SKView) {
let skyColor = SKColor(red:113.0/255.0, green:197.0/255.0, blue:207.0/255.0, alpha:1.0)
self.backgroundColor = skyColor
scoreLab.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left
scoreLab.position = CGPointMake(20, self.frame.size.height-150)
scoreLab.text = "run: 0 km"
self.addChild(scoreLab)
appLab.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left
appLab.position = CGPointMake(400, self.frame.size.height-150)
appLab.text = "eat: \(appleNum) apple"
self.addChild(appLab)
myLabel.text = "";
myLabel.fontSize = 65;
myLabel.zPosition = 100
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
self.addChild(myLabel)
self.physicsWorld.contactDelegate = self
self.physicsWorld.gravity = CGVectorMake(0, -5)
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
self.physicsBody!.categoryBitMask = BitMaskType.scene
self.physicsBody!.dynamic = false
panda.position = CGPointMake(200, 400)
self.addChild(panda)
self.addChild(platformFactory)
platformFactory.screenWdith = self.frame.width
platformFactory.delegate = self
platformFactory.createPlatform(3, x: 0, y: 200)
self.addChild(bg)
self.addChild(sound)
sound.playBackgroundMusic()
appleFactory.onInit(self.frame.width, y: theY)
self.addChild( appleFactory )
func didBeginContact(contact: SKPhysicsContact){
//熊猫和苹果碰撞
if (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask) == (BitMaskType.apple | BitMaskType.panda){
sound.playEat()
self.appleNum++
if contact.bodyA.categoryBitMask == BitMaskType.apple {
contact.bodyA.node!.hidden = true
contact.bodyB.node!.hidden = true
//熊猫和台子碰撞
if (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask) == (BitMaskType.platform | BitMaskType.panda){
var isDown = false
var canRun = false
if contact.bodyA.categoryBitMask == BitMaskType.platform {
if (contact.bodyA.node as! Platform).isDown {
isDown = true
contact.bodyA.node!.physicsBody!.dynamic = true
contact.bodyA.node!.physicsBody!.collisionBitMask = 0
}else if (contact.bodyA.node as! Platform).isShock {
(contact.bodyA.node as! Platform).isShock = false
downAndUp(contact.bodyA.node!, down: -50, downTime: 0.2, up: 100, upTime: 1, isRepeat: true)
if contact.bodyB.node!.position.y & contact.bodyA.node!.position.y {
canRun=true
}else if contact.bodyB.categoryBitMask == BitMaskType.platform
if (contact.bodyB.node as! Platform).isDown {
contact.bodyB.node!.physicsBody!.dynamic = true
contact.bodyB.node!.physicsBody!.collisionBitMask = 0
isDown = true
}else if (contact.bodyB.node as! Platform).isShock {
(contact.bodyB.node as! Platform).isShock = false
downAndUp(contact.bodyB.node!, down: -50, downTime: 0.2, up: 100, upTime: 1, isRepeat: true)
if contact.bodyA.node!.position.y & contact.bodyB.node!.position.y {
canRun=true
panda.jumpEnd = panda.position.y
if panda.jumpEnd-panda.jumpStart &= -70 {
panda.roll()
sound.playRoll()
if !isDown {
downAndUp(contact.bodyA.node!)
downAndUp(contact.bodyB.node!)
if canRun {
panda.run()
if (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask) == (BitMaskType.scene | BitMaskType.panda) {
print("game over")
myLabel.text = "game over";
sound.playDead()
isLose = true
sound.stopBackgroundMusic()
//落地后jumpstart数据要设为当前位置,防止自由落地计算出错
panda.jumpStart = panda.position.y
func didEndContact(contact: SKPhysicsContact){
panda.jumpStart = panda.position.y
func downAndUp(node :SKNode,down:CGFloat = -50,downTime:CGFloat=0.05,up:CGFloat=50,upTime:CGFloat=0.1,isRepeat:Bool=false){
let downAct = SKAction.moveByX(0, y: down, duration: Double(downTime))
//moveByX(CGFloat(0), y: down, duration: downTime)
let upAct = SKAction.moveByX(0, y: up, duration: Double(upTime))
let downUpAct = SKAction.sequence([downAct,upAct])
if isRepeat {
node.runAction(SKAction.repeatActionForever(downUpAct))
node.runAction(downUpAct)
override func touchesBegan(touches: Set&UITouch&, withEvent event: UIEvent?) {
if isLose {
if panda.status != Status.jump2 {
sound.playJump()
panda.jump()
//重新开始游戏
func reSet(){
isLose = false
panda.position = CGPointMake(200, 400)
myLabel.text = ""
distance = 0.0
lastDis = 0.0
self.appleNum = 0
platformFactory.reset()
appleFactory.reSet()
platformFactory.createPlatform(3, x: 0, y: 200)
sound.playBackgroundMusic()
override func update(currentTime: CFTimeInterval) {
if isLose {
if panda.position.x & 200 {
let x = panda.position.x + 1
panda.position = CGPointMake(x, panda.position.y)
distance += moveSpeed
lastDis -= moveSpeed
var tempSpeed = CGFloat(5 + Int(distance/2000))
if tempSpeed & maxSpeed {
tempSpeed = maxSpeed
if moveSpeed & tempSpeed {
moveSpeed = tempSpeed
if lastDis & 0 {
platformFactory.createPlatformRandom()
distance += moveSpeed
scoreLab.text = "run: \(Int(distance/) km"
appLab.text = "eat: \(appleNum) apple"
platformFactory.move(moveSpeed)
bg.move(moveSpeed/5)
appleFactory.move(moveSpeed)
func onGetData(dist:CGFloat,theY:CGFloat){
self.lastDis = dist
self.theY = theY
appleFactory.theY = theY
protocol ProtocolMainscreen {
func onGetData(dist:CGFloat,theY:CGFloat)
4.最后的游戏的效果图:
欢迎关注我的微信公众号“丁丁的coding日记”,一起学习iOS开发技术
qrcode_for_gh_a0330831fea6_430 .jpg
一个安安静静写代码的小人物。。。
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
下边都学会就大神了: 声明:都是网上搜集的,能标明出处的都标了.别只搜集而不看,与君共勉.. 先看完整项目完整App@HackerNews-React-Native用 React Native 完成的 HackerNews 客户端。WeChat实现类似微信朋友圈或者QQ空间...
收集的库 git-recipesGit recipes in Chinese. 高质量的Git中文教程. lark怎样在Github上面贡献代码 my-git有关 git 的学习资料 gitignore非常赞 有用的.gitignore模板集合(忽略上传的文件集合),包含了...
这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库.转载自:https://github.com/Tim9Liu9/TimLiu-iOSgithub排名 https://github.com/trendinggithub搜索:https://github.c...
此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS 介绍 这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库. 具体内容 ============================= 版本管理@ 依赖管理@ G...
实体经济不是被电商打败的,而是败给了自己。传统的一打品牌,线上销售越好,线下关店越狠。价格优势就是关键因素,所以,只要做不到线上线下同价,实体商家就会被自己打败。 如今线上线下同款同价的成功案例越来越多。还是优衣库,如果说 2014 年优衣库在天猫的火爆促使一打快时尚进驻天...
首先声明我并没有一套系统的情绪管理的内容要分享给大家,写点看法,主要是因为最近看到很多小伙伴被情绪问题所困扰,状态不好,所以才想到把自己有关情绪方面的心路历程写一写,供大家参考,希望能帮助到需要的小伙伴们。 1.情绪问题像根刺 一根久远的刺:因考研面试失败,当别人都积极争取...
生物钟将我的睡眠调制到7点必醒状态,意味着接下来的10个小时我要安排好自己的作息才不会显得浪费!合理规划时间让我的生活更有规律!喜欢这种有计划的状态!难问题来了,你安排了些什么项目呢?晚上总结分享
一、Hololens概述Hololens有以下特性1、空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配。这保证了 HoloLens能够准确地在真实世界表面放置或展现全息图形内容,确保了核心的AR体验。2、场景匹配Hol...
我有两台电脑 PC 是ubuntu的系统,主要用来开发服务器端 IP : 192.168.1.100 MAC 用来开发Android 配置 MAC 中模拟器 访问 PC 服务器中的数据 打开mac 电脑中的 /etc/hosts 文件 加入如下 127.0.0.1 www....查看: 14858|回复: 30
性与美食孰可辜负?公熊猫为吃苹果放弃了一年一度的交配机会
本帖最后由 青冥行路吟 于
12:10 编辑 龙腾网 http://www.ltaaa.com
No sex please, I'm a panda: Male frustrates zoo keepers by ignoring female's raised tail and choosing to eat an apple instead... And she's only on heat once a YEAR龙腾网 http://www.ltaaa.com
性,离我远点,我是只熊猫:公熊猫不理会一年一度春心萌动的母熊猫转而去吃苹果,让动物园饲养员大感挫败
龙腾网 http://www.ltaaa.com
By Tracy You For Mailonline
Published: 17:16 GMT, 30 March 2015&&| Updated: 06:35 GMT, 31 March 2015
A well-known male panda living in Taipei, Taiwan, has failed to complete his most important job of the year because he was distracted by an apple.
台北的一只著名的公熊猫因一只苹果而分心,搞砸了它一年中最重要的熊生大事。
When Tuantuan's long-term mating partner, Yuanyuan, was in heat last week - a precious window lasting about 72 hours every year - and Taipei Zoo went to great lengths to entice them to mate naturally.
上周,团团的固定伴侣,圆圆,正处在一年一度的发情期,发情期持续时间仅为三天,弥足珍贵。而台北动物园则竭尽全力去引导它们自然交配。
But the food they used to guide Tuantuan into position ruined the plan, as the 10-year-old male ditched his girlfriend and leapt towards the apple, according to People's Daily Online.
但是他们用来引领团团准备就绪的食物却让计划功亏一篑,那只10岁的公熊猫把女朋友甩一旁,跳着去追那只苹果。据人民日报报道。
Despite the fact that Yuanyuan repeatedly lifted up her tail, a sign to show she was in heat, Tuantuan changed direction and went for the apple dangled in front of him.
尽管圆圆屡屡抬起尾巴,传递它已经情欲高涨的信号,但团团还是转向追那只吊在它前面的苹果。
Female pandas are generally only in heat once a year for one to three days.
母熊猫一般每年只发情一次,为期三天。
In order not to miss Yuanyuan's heat period, Taipei Zoo decided to obtain sperm from Tuantuan through an operation. Yuanyuan was artificially inseminated twice the same night.
为了不错失良机,台北动物园决定通过手术获取团团的精子,当晚给圆圆进行了两次人工授精。
A spokesman from the zoo said they will discover whether the inseminations were successful in about three months.
动物园的发言人表示他们会在三个月后知道受精是否成功。
The two pandas were given as a gift to Taiwan from mainland China in 2008. Their combined name 'tuan yuan' means 'reunion' in Chinese.
The two became parents for the first time when a baby girl cub called Yuanzai was born in summer 2013.
The pair have become local celebrities. The zoo allows up to 19,200 visitors to the pandas section every day and all visitors are asked to enter a lottery in order to get in.
2008年,这两只熊猫作为礼物由中国大陆赠与台湾。它们的名字合起来“tuanyuan”在中文中寓意“团圆”。
2013年夏天,一只名为“圆仔”的雌性熊猫宝宝的诞生,让这对熊猫夫妇升级为熊父熊母。
这对熊猫夫妇已经成为当地的人气明星。台北动物园每天接待19200游客游览熊猫园,游客们被要求以抽号的方式进园参观。
http://www.dailymail.co.uk/news/peoplesdaily/article-3018075/Amusing-video-shows-celebrity-panda-chooses-food-mating-fully-prepared-partner.html
*****************评论*******************
Jack76, San Diego, United States, about 11 hours ago
They are begging to become extinct - please, just let them. 4&&4
既然熊猫都自寻灭绝——拜托,就让它们去吧。
Zeavon, Goodyear, United States, 16 hours ago
They have a weird style raising animals..next story please. 12&&2
他们中国人有特殊的饲养动物的技巧……换台吧
Donnie Lad, Aberdeen, United Kingdom, 16 hours ago
If they can't be bothered to put in the effort they deserve to go extinct.&&55&&19
如果它们不能被人们投入的努力所打扰,它们活该灭绝。
——Four20erryday, None of your business, United Kingdom, 15 hours ago
Someone should tell them they're going extinct. They'll make oblivious parents.&&14&&0
有人应该告诉它们已经快要灭绝了。这对父母一定是太健忘了。
insideinfo, gold coast, Australia, about 15 hours ago
Why not just Clone them like CHINA does!!&&2&&1
为什么中国不像制造山寨产品一样克隆熊猫呢!
Rarius, Treve, United Kingdom, 16 hours ago
I wish I had adopted the same approach. I would now have a loverly car, nice house and money in the bank. Instead I have two teenagers........ 80&&6
我真希望我也采取了相同的策略(只生一个好)。那样我就还会有辆好车,有栋好房子,还有一大笔钱在银行。现实是我有两个孩子要拉扯……(感叹养两个孩子成本高)
——aquaguy, Austin, United States, 14 hours ago
BINGO!!& &6&&1
charlie1, Sydney, about 15 hours ago
He has his priorities absolutely correct.& &12&&0
团团有自己的优先考虑,完全正确。
tuguybear, newcastle, 15 hours ago
A male with his priorities right. Typical of a female to make him wait for a year then expect him to jump to it at her behest.&&63&&5
这只公熊猫知道什么是轻重缓急。典型的是某女整整吊了某男一年,然后还指望他会急不可耐地呼之即来。
mullkeetmo, exeter, United Kingdom, 15 hours ago
Reflecting on this story I wonder if my first wife was a panda in a previous life.&&40&&5
这故事让我陷入深深的沉思。我怀疑我的第一任妻子前世也是只熊猫(指性冷淡)。
——aquaguy, Austin, United States, 14 hours ago
Sheesh. You beat me to what I was going to say about MY ex wife!!& &12&&5
老天!你说了我正想说的!我认为我前妻也一样!!
Mummy flowerz, Birmingham, United Kingdom, about 15 hours ago
I think mr panda needed some privacy not an audience.&&19&&0
我认为熊猫先生需要的是个人隐私的空间,而不是被围观。
dd33, London, United Kingdom, 14 hours ago
Why put an apple in front of him when he is trying to get jiggy? 30&&0
为什么在公熊猫正要嘿哟时还要放只苹果在他前面?
Little Cat Yang, Taichung, Taiwan, about 3 hours ago
The Apple on the stick was not to &ruin& the process. Instead, it were used by the zoo keeper to lure TuanTuan away from YuanYuan. She was angry and smacking TuanTuan already. If the zoo keeper had not broken the fight, both pandas might have hurt each other.&&1&&0
并不是那只串在木棍上的苹果打断了交配。相反,它是饲养员用来把团团从圆圆身边引开的。圆圆已经火冒三丈,就要抽团团了。如果饲养员不阻止两熊相争,结果只会两熊俱伤。
Sid, Australia, Australia, about 15 hours ago
That panda, he wouldn't be a bit, y'now, bent?&&6&&1
那只公熊猫是不是有点,你懂的,弯?
Tom_88, Swansea, United Kingdom, 15 hours ago
You made him choose between food and sex!!!!!!!!!!!!!!!!!! How cruel can you be!&&22&&2
你们逼他在美食和性之间二选一!!!!!!!!!太残忍了!
翻译得不错,感谢对龙腾网的支持。。。
竟然有一半外国人不爱滚滚了
千反田大小姐很萌的&
@幻灭虚无 冰菓,当初新番出来,女主出来的的时候,第一眼居然对她心动了,我不是宅啊,黑长直要人命啊&
这什么动漫?&
注孤生、、、、
in a previous life = 前世
一木 该用户已被删除
果然是吃货国的国宝,为了吃什么都不管了么
Sid, Australia, Australia, about 15 hours ago
That panda, he wouldn't be a bit, y'now, bent?&&6&&1
那只公熊猫是不是有点,你懂的,弯?龙腾网 http://www.ltaaa.com
龙腾网 http://www.ltaaa.com
不好说啊……
这新闻纯粹就是误导读者吧?追苹果追三天?你逗我!!!无非就是失败而已,找什么借口~
龙腾移动网页版
& & 上面有个老外说你有点弯,
@团团& & 上面有个老外说你有点弯,
醉了 每年这个时候都中枪无数...
去年的圆仔也火了一时...
龙腾移动网页版
弯?……真相了哈哈哈哈哈哈
不能边吃边OOXX吗
这些外国人是默认“台湾人=中国人”吗?虽然从政治上来说不错,但是总觉得他们拉低我们智商啊。
评论里面有两个前妻躺枪!
龙腾移动网页版
猪小乐 发表于
竟然有一半外国人不爱滚滚了
因为是屌丝,看见熊猫既有伴侣又有食物所以嫉妒。
主要还是因为包办婚姻,熊猫经常相处,往往认为对方是亲人,所以根本没兴趣,而且交配也是要自主选择的,人觉得不错,但是熊猫未必喜欢。
团团根本就是个孩子,没长大过。&
Why put an apple in front of him when he is trying to get jiggy? 30&&0龙腾网 http://www.ltaaa.com
为什么在公熊猫正要嘿哟时还要放只苹果在他前面?龙腾网 http://www.ltaaa.com
++++++++++++++++++++++++++++++++++++++++
这也是我想问的。
熊猫里面也有Gay?
既然熊猫都自寻灭绝——拜托,就让它们去吧。
如果它们不能被人们投入的努力所打扰,它们活该灭绝。龙腾网 http://www.ltaaa.com
——————————————————————————————————————————————————————————龙腾网 http://www.ltaaa.com
老外物竞天择的思想深入人心啊,他们看起来认为,连人为救助都不理睬的物种,灭绝了是可以接受的?熊猫很可爱,为什么不努力让它们和人类一样生活在世界上
这一说法完全不适用于野生熊猫。野生的是公熊猫决斗后胜利的那只才有交配资格。&
本帖最后由 大象跳水 于
20:32 编辑
团团已经弯了哦 ,请问 该行动了,
与此同时雅安熊猫基地的芦芦顺利完成了七分半钟的自然交配,整个爽翻了。
团团啊,你不行的事情全世界都知道了。。。。。
萌吃萌喝还能有人帮打飞机,反观................
团团已经弯了哦 ,请问@一字马 该行动了,
泥煤,俺可是直的
泥煤,俺可是直的龙腾网 http://www.ltaaa.com
每当我看到这个图
12931.jpg (30.79 KB, 下载次数: 0)
12:08 上传
这样子太孬熊了吧?&
我勒个去%&_&%&
龙腾移动网页版
aha123 发表于
09:58龙腾网 http://www.ltaaa.com
主要还是因为包办婚姻,熊猫经常相处,往往认为对方是亲人,所以根本没兴趣,而且交配也是要自主选择的,人 ...龙腾网 http://www.ltaaa.com
团团发情了,只是不懂交配而已,野外的熊猫离开母亲前可以观摩一次母亲与别熊的交配,而现场也有其他幼年熊猫在观摩,通过这种途径可以让熊猫学习如何交配,如果团团没被送走的话也有机会通过这种途径学习的,台湾只有两只大熊猫,两只都没经验,要让它们无师自通实在太难了
Powered by Discuz!X3.2
Comsenz Inc.

我要回帖

更多关于 panda读音 的文章

 

随机推荐