Recording
making a platformer game in xcode - part 2 movement
2015-12-07 · 9 min
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.
Source information & transcript revisions
Transcript revisions
- rev_dbc7b36c79f93ac586e32d2bc5a06a8aMachine-generated and unreviewed; may be wrong; not a verified quotation.enraw_asractive127 segments
Transcript
Hello and welcome back to part 2.
Segment details
0:03–0:05 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_0And this time we're going to make a left
Segment details
0:06–0:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_1and right button to make our character
Segment details
0:10–0:11 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_2move left and right. Now this is a bit
Segment details
0:11–0:13 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_3complicated because we need 2 actions for
Segment details
0:13–0:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_4one button. So when you press the button,
Segment details
0:16–0:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_5the character starts moving, and when you
Segment details
0:18–0:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_6let go of the button, the character stops
Segment details
0:21–0:22 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_7moving. So let's get some buttons down,
Segment details
0:23–0:26 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_8just copy and paste jump and then rename
Segment details
0:26–0:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_9them. And you have to cancel off
Segment details
0:29–0:32 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_10these because when you copy and paste the
Segment details
0:32–0:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_11button, it also copies the, the actions.
Segment details
0:34–0:39 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_12So let's call this left and then call
Segment details
0:40–0:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_13this right, and we'll put it down here.
Segment details
0:44–0:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_14So we need 2 IBOutlets
Segment details
0:49–0:54 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_15for the buttons, left and
Segment details
0:56–0:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_16right. And we also need
Segment details
1:02–1:06 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_172 timers for— oops.
Segment details
1:06–1:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_18Need 2 timers for left and right. Maybe we
Segment details
1:17–1:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_19should change this to left timer and
Segment details
1:21–1:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_20right timer.
Segment details
1:28–1:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_21We also need a void— 2 voids,
Segment details
1:35–1:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_22or was it 4 voids? Go left and
Segment details
1:40–1:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_23go right. And we
Segment details
1:46–1:50 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_24need— I think it's 4 actions.
Segment details
1:50–1:53 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_25I'm gonna have to check later.
Segment details
1:55–1:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_26Start left.
Segment details
2:00–2:00 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_27And we also want StopLeft.
Segment details
2:08–2:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_28So this is what happens when you, when you
Segment details
2:13–2:15 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_29stop, when you let go of the button.
Segment details
2:15–2:17 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_30And then the same for StartRight and
Segment details
2:22–2:25 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_31StopRight. Okay, so do
Segment details
2:26–2:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_32IBAction and get rid
Segment details
2:29–2:33 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_33of sender. And we do startLeft.
Segment details
2:33–2:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_34Now when you press startLeft, you want to
Segment details
2:39–2:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_35start the timer. So leftTimer equals
Segment details
2:41–2:45 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_36NSTimer.scheduleTimeInterval,
Segment details
2:45–2:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_37and do this one: 0.05,
Segment details
2:51–2:55 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_38target self at selector And
Segment details
2:56–2:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_39in here we have to put— what did we name
Segment details
3:00–3:03 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_40it? Yeah, it's goLeft, and then do
Segment details
3:04–3:06 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_41userInfo nil, repeats yes.
Segment details
3:06–3:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_42And then we need
Segment details
3:12–3:15 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_43a void for goLeft.
Segment details
3:16–3:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_44Now when you press on goLeft, you want
Segment details
3:20–3:24 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_45the character to be moving to the left.
Segment details
3:25–3:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_46So CGPoint.make .
Segment details
3:27–3:33 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_47And let's link them up. It probably won't
Segment details
3:44–3:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_48work right now because it's kind of
Segment details
3:46–3:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_49unfinished.
Segment details
3:49–3:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_50So left goes to left,
Segment details
3:54–3:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_51right goes to right, start left
Segment details
3:58–4:02 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_52goes to left. Now for start left, we want
Segment details
4:02–4:05 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_53touchdown. So touchdown is holding
Segment details
4:05–4:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_54the button down. Start right is also
Segment details
4:09–4:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_55touchdown, and stop left is going to be
Segment details
4:13–4:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_56touch up inside. So that when you let go
Segment details
4:17–4:19 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_57of the button, that code runs.
Segment details
4:19–4:21 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_58Same for right touch up inside. So let's
Segment details
4:24–4:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_59just see what happens.
Segment details
4:27–4:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_60Where is it?
Segment details
4:35–4:36 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_61It's taking its time to open.
Segment details
4:45–4:47 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_62Okay, there we go. So what does left
Segment details
4:52–4:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_63do? It crashes. Okay, that's because we
Segment details
4:56–4:58 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_64haven't done the stop left code yet,
Segment details
4:58–5:01 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_65so we need to do IBAction Stop
Segment details
5:02–5:09 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_66left.
Segment details
5:10–5:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_67Now what's going to happen is we
Segment details
5:15–5:17 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_68invalidate the timer, so leftTimer
Segment details
5:18–5:21 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_69invalidate. Okay, see what happens now.
Segment details
5:22–5:25 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_70Yep, that's it. That's strange because in
Segment details
5:34–5:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_71my other game there was more code, more
Segment details
5:37–5:39 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_72code to it, but I guess that's all you
Segment details
5:39–5:41 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_73need. So you hold left and he goes left,
Segment details
5:42–5:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_74let go of left and he stops moving. So
Segment details
5:44–5:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_75let's just repeat that for the right-hand
Segment details
5:47–5:49 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_76side. So just copy, copy and paste all
Segment details
5:49–5:52 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_77this and then just change left to
Segment details
5:52–5:57 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_78right. Go right. And change
Segment details
5:57–6:00 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_79this to plus. And start right,
Segment details
6:01–6:04 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_80right timer, go right,
Segment details
6:06–6:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_81stop right, right timer.
Segment details
6:12–6:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_82And that's it, should be done.
Segment details
6:18–6:19 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_83So we got right And we got left, and we
Segment details
6:24–6:27 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_84also have a jump. So yeah,
Segment details
6:28–6:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_85that's that's it. We're done. It was
Segment details
6:31–6:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_86easier than I expected actually. How about
Segment details
6:34–6:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_87you? Did you find it easy? It's pretty
Segment details
6:38–6:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_88easy, right? Oh crap! We've bugged it.
Segment details
6:40–6:42 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_89Okay, so maybe there's some problems.
Segment details
6:42–6:45 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_90Okay, I think I found the problem.
Segment details
6:46–6:48 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_91Oh, I had this problem before. If you hold
Segment details
6:50–6:53 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_92the button and drag off the button, it
Segment details
6:54–6:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_93just keeps moving like this. Now, how did
Segment details
6:57–6:59 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_94I fix this last time?
Segment details
7:00–7:01 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_95I think I changed touch up inside to
Segment details
7:12–7:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_96something else. Was it touch up?
Segment details
7:16–7:18 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_97Touch— was it touch cancel?
Segment details
7:21–7:23 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_98So I had the same problem before and I
Segment details
7:27–7:29 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_99fixed it, but I can't remember how I did
Segment details
7:30–7:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_100it. Okay, I just found out what happened.
Segment details
7:31–7:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_101Okay, so we actually need stop right 2
Segment details
7:35–7:38 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_102times on each button, not just once. So
Segment details
7:39–7:41 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_103we've got stop left, touch up inside. We
Segment details
7:41–7:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_104also need second one, touch up outside.
Segment details
7:44–7:47 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_105So the code doesn't only cancel when
Segment details
7:48–7:51 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_106you've stopped pressing the button, but
Segment details
7:52–7:54 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_107also when you've dragged off the button
Segment details
7:54–7:56 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_108and let go. So let's just see what
Segment details
7:56–7:58 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_109So we drag off and it should stop.
Segment details
8:04–8:07 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_110That's good. Okay, so we didn't do that
Segment details
8:08–8:10 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_111for the right button. So as you can see,
Segment details
8:10–8:12 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_112if you press the right button and then
Segment details
8:12–8:13 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_113drag off and and then let go, he keeps
Segment details
8:14–8:16 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_114going on. So to fix that, just get your
Segment details
8:16–8:20 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_115stop right again, drag it back onto right,
Segment details
8:20–8:22 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_116and also do touch up outside. So if you
Segment details
8:23–8:26 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_117let go of the button on the button and
Segment details
8:26–8:28 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_118outside of the button, it's going to run
Segment details
8:29–8:31 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_119the stop right code, if that makes any
Segment details
8:31–8:34 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_120sense. So there we go,
Segment details
8:34–8:37 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_121we're moving left and right, and we're
Segment details
8:38–8:40 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_122also jumping. Next time we're gonna add
Segment details
8:41–8:44 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_123like an obstacle we can jump over.
Segment details
8:44–8:46 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_124And yeah, I'll see you, see you next time.
Segment details
8:48–8:50 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_125Bye-bye.
Segment details
8:51–8:51 · rev_dbc7b36c79f93ac586e32d2bc5a06a8a_126