Skip to corpus content
HIMR Public Corpustimestamped source index

Recording

making a platformer game in xcode - part 2 movement

2015-12-07 · 9 min

internet_archive
Machine transcript · wording, timing and speaker attribution may be wrong

Wording, speaker labels, and timestamps can still be wrong. A transcript does not establish that statements in the recording are factual. Use the source links and surrounding context.

Read summary

Expand to load the summary.

Open summary page ↗
Source information & transcript revisions

Transcript revisions

  1. rev_dbc7b36c79f93ac586e32d2bc5a06a8aMachine-generated and unreviewed; may be wrong; not a verified quotation.
    enraw_asractive127 segments

Transcript

en
  1. Hello and welcome back to part 2.

    Segment details0:03–0:05 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_0
  2. And this time we're going to make a left

    Segment details0:06–0:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_1
  3. and right button to make our character

    Segment details0:10–0:11 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_2
  4. move left and right. Now this is a bit

    Segment details0:11–0:13 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_3
  5. complicated because we need 2 actions for

    Segment details0:13–0:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_4
  6. one button. So when you press the button,

    Segment details0:16–0:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_5
  7. the character starts moving, and when you

    Segment details0:18–0:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_6
  8. let go of the button, the character stops

    Segment details0:21–0:22 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_7
  9. moving. So let's get some buttons down,

    Segment details0:23–0:26 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_8
  10. just copy and paste jump and then rename

    Segment details0:26–0:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_9
  11. them. And you have to cancel off

    Segment details0:29–0:32 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_10
  12. these because when you copy and paste the

    Segment details0:32–0:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_11
  13. button, it also copies the, the actions.

    Segment details0:34–0:39 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_12
  14. So let's call this left and then call

    Segment details0:40–0:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_13
  15. this right, and we'll put it down here.

    Segment details0:44–0:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_14
  16. So we need 2 IBOutlets

    Segment details0:49–0:54 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_15
  17. for the buttons, left and

    Segment details0:56–0:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_16
  18. right. And we also need

    Segment details1:02–1:06 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_17
  19. 2 timers for— oops.

    Segment details1:06–1:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_18
  20. Need 2 timers for left and right. Maybe we

    Segment details1:17–1:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_19
  21. should change this to left timer and

    Segment details1:21–1:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_20
  22. right timer.

    Segment details1:28–1:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_21
  23. We also need a void— 2 voids,

    Segment details1:35–1:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_22
  24. or was it 4 voids? Go left and

    Segment details1:40–1:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_23
  25. go right. And we

    Segment details1:46–1:50 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_24
  26. need— I think it's 4 actions.

    Segment details1:50–1:53 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_25
  27. I'm gonna have to check later.

    Segment details1:55–1:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_26
  28. Start left.

    Segment details2:00–2:00 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_27
  29. And we also want StopLeft.

    Segment details2:08–2:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_28
  30. So this is what happens when you, when you

    Segment details2:13–2:15 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_29
  31. stop, when you let go of the button.

    Segment details2:15–2:17 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_30
  32. And then the same for StartRight and

    Segment details2:22–2:25 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_31
  33. StopRight. Okay, so do

    Segment details2:26–2:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_32
  34. IBAction and get rid

    Segment details2:29–2:33 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_33
  35. of sender. And we do startLeft.

    Segment details2:33–2:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_34
  36. Now when you press startLeft, you want to

    Segment details2:39–2:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_35
  37. start the timer. So leftTimer equals

    Segment details2:41–2:45 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_36
  38. NSTimer.scheduleTimeInterval,

    Segment details2:45–2:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_37
  39. and do this one: 0.05,

    Segment details2:51–2:55 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_38
  40. target self at selector And

    Segment details2:56–2:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_39
  41. in here we have to put— what did we name

    Segment details3:00–3:03 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_40
  42. it? Yeah, it's goLeft, and then do

    Segment details3:04–3:06 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_41
  43. userInfo nil, repeats yes.

    Segment details3:06–3:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_42
  44. And then we need

    Segment details3:12–3:15 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_43
  45. a void for goLeft.

    Segment details3:16–3:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_44
  46. Now when you press on goLeft, you want

    Segment details3:20–3:24 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_45
  47. the character to be moving to the left.

    Segment details3:25–3:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_46
  48. So CGPoint.make .

    Segment details3:27–3:33 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_47
  49. And let's link them up. It probably won't

    Segment details3:44–3:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_48
  50. work right now because it's kind of

    Segment details3:46–3:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_49
  51. unfinished.

    Segment details3:49–3:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_50
  52. So left goes to left,

    Segment details3:54–3:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_51
  53. right goes to right, start left

    Segment details3:58–4:02 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_52
  54. goes to left. Now for start left, we want

    Segment details4:02–4:05 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_53
  55. touchdown. So touchdown is holding

    Segment details4:05–4:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_54
  56. the button down. Start right is also

    Segment details4:09–4:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_55
  57. touchdown, and stop left is going to be

    Segment details4:13–4:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_56
  58. touch up inside. So that when you let go

    Segment details4:17–4:19 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_57
  59. of the button, that code runs.

    Segment details4:19–4:21 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_58
  60. Same for right touch up inside. So let's

    Segment details4:24–4:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_59
  61. just see what happens.

    Segment details4:27–4:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_60
  62. Where is it?

    Segment details4:35–4:36 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_61
  63. It's taking its time to open.

    Segment details4:45–4:47 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_62
  64. Okay, there we go. So what does left

    Segment details4:52–4:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_63
  65. do? It crashes. Okay, that's because we

    Segment details4:56–4:58 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_64
  66. haven't done the stop left code yet,

    Segment details4:58–5:01 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_65
  67. so we need to do IBAction Stop

    Segment details5:02–5:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_66
  68. left.

    Segment details5:10–5:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_67
  69. Now what's going to happen is we

    Segment details5:15–5:17 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_68
  70. invalidate the timer, so leftTimer

    Segment details5:18–5:21 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_69
  71. invalidate. Okay, see what happens now.

    Segment details5:22–5:25 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_70
  72. Yep, that's it. That's strange because in

    Segment details5:34–5:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_71
  73. my other game there was more code, more

    Segment details5:37–5:39 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_72
  74. code to it, but I guess that's all you

    Segment details5:39–5:41 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_73
  75. need. So you hold left and he goes left,

    Segment details5:42–5:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_74
  76. let go of left and he stops moving. So

    Segment details5:44–5:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_75
  77. let's just repeat that for the right-hand

    Segment details5:47–5:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_76
  78. side. So just copy, copy and paste all

    Segment details5:49–5:52 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_77
  79. this and then just change left to

    Segment details5:52–5:57 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_78
  80. right. Go right. And change

    Segment details5:57–6:00 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_79
  81. this to plus. And start right,

    Segment details6:01–6:04 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_80
  82. right timer, go right,

    Segment details6:06–6:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_81
  83. stop right, right timer.

    Segment details6:12–6:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_82
  84. And that's it, should be done.

    Segment details6:18–6:19 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_83
  85. So we got right And we got left, and we

    Segment details6:24–6:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_84
  86. also have a jump. So yeah,

    Segment details6:28–6:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_85
  87. that's that's it. We're done. It was

    Segment details6:31–6:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_86
  88. easier than I expected actually. How about

    Segment details6:34–6:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_87
  89. you? Did you find it easy? It's pretty

    Segment details6:38–6:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_88
  90. easy, right? Oh crap! We've bugged it.

    Segment details6:40–6:42 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_89
  91. Okay, so maybe there's some problems.

    Segment details6:42–6:45 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_90
  92. Okay, I think I found the problem.

    Segment details6:46–6:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_91
  93. Oh, I had this problem before. If you hold

    Segment details6:50–6:53 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_92
  94. the button and drag off the button, it

    Segment details6:54–6:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_93
  95. just keeps moving like this. Now, how did

    Segment details6:57–6:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_94
  96. I fix this last time?

    Segment details7:00–7:01 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_95
  97. I think I changed touch up inside to

    Segment details7:12–7:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_96
  98. something else. Was it touch up?

    Segment details7:16–7:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_97
  99. Touch— was it touch cancel?

    Segment details7:21–7:23 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_98
  100. So I had the same problem before and I

    Segment details7:27–7:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_99
  101. fixed it, but I can't remember how I did

    Segment details7:30–7:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_100
  102. it. Okay, I just found out what happened.

    Segment details7:31–7:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_101
  103. Okay, so we actually need stop right 2

    Segment details7:35–7:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_102
  104. times on each button, not just once. So

    Segment details7:39–7:41 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_103
  105. we've got stop left, touch up inside. We

    Segment details7:41–7:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_104
  106. also need second one, touch up outside.

    Segment details7:44–7:47 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_105
  107. So the code doesn't only cancel when

    Segment details7:48–7:51 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_106
  108. you've stopped pressing the button, but

    Segment details7:52–7:54 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_107
  109. also when you've dragged off the button

    Segment details7:54–7:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_108
  110. and let go. So let's just see what

    Segment details7:56–7:58 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_109
  111. So we drag off and it should stop.

    Segment details8:04–8:07 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_110
  112. That's good. Okay, so we didn't do that

    Segment details8:08–8:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_111
  113. for the right button. So as you can see,

    Segment details8:10–8:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_112
  114. if you press the right button and then

    Segment details8:12–8:13 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_113
  115. drag off and and then let go, he keeps

    Segment details8:14–8:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_114
  116. going on. So to fix that, just get your

    Segment details8:16–8:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_115
  117. stop right again, drag it back onto right,

    Segment details8:20–8:22 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_116
  118. and also do touch up outside. So if you

    Segment details8:23–8:26 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_117
  119. let go of the button on the button and

    Segment details8:26–8:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_118
  120. outside of the button, it's going to run

    Segment details8:29–8:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_119
  121. the stop right code, if that makes any

    Segment details8:31–8:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_120
  122. sense. So there we go,

    Segment details8:34–8:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_121
  123. we're moving left and right, and we're

    Segment details8:38–8:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_122
  124. also jumping. Next time we're gonna add

    Segment details8:41–8:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_123
  125. like an obstacle we can jump over.

    Segment details8:44–8:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_124
  126. And yeah, I'll see you, see you next time.

    Segment details8:48–8:50 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_125
  127. Bye-bye.

    Segment details8:51–8:51 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_126