게임 무대 만들기 201a GUI툴로 타일맵 배경 만들기 (Tile Map Editor) 201b 코드로 타일맵 배경 만들기 (GKRandomSource, Procedural Generation) 202 카메라 배치하기 (SKCameraNode, 타입 프로퍼티) 203 경과시간 표시하기 (SKLabelNode, update 함수, 프로퍼티 옵저버) 204 골 배치하기 (GKRandomDistribution) 205 장애물 설치하기 (Overlap 판정)
객체 준비하기 301 플레이어 배치 (Particle Emitter, SKLightNode) 302a 플레이어 움직이기 (터치에 대한 속도와 각도 계산법) 302b 바닥종류에 따라 객체속도변경하기 (SKTileMapNode) 303 적 배치하기 (Timer)
인공지능 도입하기 401a 에이전트 시스템 준비하기 (GKComponentSystem, GKAgent2D) 401b 적에게 인공지능 부여하기 (GKBehavior, GKGoal, GKObstacle) 402 룰 시스템 셋업하기 (GKRule)
게임 더 꾸미기 501 사운드 붙이기 (SKAudioNode) 502 가상 조이스틱 사용하기 (TLAnalogJoystick) 503 충돌 판정하기 (SKPhysicsBody) 504a 게임오버 처리하기 (State Machine, 하이스코어 처리) 504b 게임오버 씬 전환하기 (SKScene)
- All categories [Link](https://marketplace.visualstudio.com/search?target=VSCode&category=All%20categories&sortBy=Downloads)
- Active File In StatusBar [Link](https://marketplace.visualstudio.com/items?itemName=RoscoP.ActiveFileInStatusBar)
- Visual Studio Code extension for showing the full path of the currently active file in the status bar.
- C/C++ [Link](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
- language support for C/C++ to Visual Studio Code
- CMake Tools [Link](https://marketplace.visualstudio.com/items?itemName=vector-of-bool.cmake-tools)
- CMake Tools provides the native developer a full-featured, convenient, and powerful configure+build workflow for CMake-based projects in Visual Studio Code.
- Code Runner [Link](https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner)
- Run code snippet or code file for multiple languages
- Code Spell Checker [Link](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- A basic spell checker that works well with camelCase code.
- CodeMap [Link](https://marketplace.visualstudio.com/items?itemName=oleg-shilo.codemap)
- Interactive code map for quick visualization and navigation within code DOM objects (e.g. classes, members).
- Excel Viewer [Link](https://marketplace.visualstudio.com/items?itemName=GrapeCity.gc-excelviewer)
- View Excel spreadsheets and CSV files within Visual Studio Code workspaces.
- Git Graph [Link](https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph)
- View a Git Graph of your repository, and perform Git actions from the graph.
- indent-rainbow [Link](https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow)
- This extension colorizes the indentation in front of your text alternating four different colors on each step. Some may find it helpful in writing code for Nim or Python.
- Kotlin Language [Link](https://marketplace.visualstudio.com/items?itemName=mathiasfrohlich.Kotlin)
- Kotlin language support for VS Code
- LaTeX Workshop [Link](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
- Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
- Markdown All in One [Link](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
- All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more)
- Path Autocomplete [Link](https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete)
- Provides path completion for visual studio code.
- Python [Link](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- A Visual Studio Code extension with rich support for the Python language (for all actively supported versions of the language: 2.7, >=3.4), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, snippets, and more!
- Settings Sync [Link](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)
- Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.
- Swift Language [Link](https://marketplace.visualstudio.com/items?itemName=Kasik96.swift)
- Swift language support for VS Code
- Todo Tree [Link](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)
- Show TODO, FIXME, etc. comment tags in a tree view
- Visual Studio IntelliCode [Link](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode)
- AI-assisted development
- vscode-icons [Link](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons)
- Icons for Visual Studio Code
- Korean Language Pack for Visual Studio Code [Link](https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ko)
- Language pack extension for Korean
- GitLens — Git supercharged [Link](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
- GitLens supercharges the Git capabilities built into Visual Studio Code. It helps you to visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more.
settings.json에 다음 라인을 추가 [code] "python.testing.autoTestDiscoverOnSaveEnabled": true, "python.testing.pytestEnabled": true, [/code] 다음과 같은 파일을 만들었다고 한다. [code] inc_dec.py
def increment(x): return x + 1 def decrement(x): return x - 1 [/code]
테스트 파일은 다음과 같이 만든다 [code] import inc_dec # The code to test
5초마다 온도를 표시하는 루프문 [code] while true do # get cpu temp from thermal node of kernal cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1))
# get gpu temp using Video Core Generate Command gpuTemp=$(/opt/vc/bin/vcgencmd measure_temp) gpuTemp=${gpuTemp//temp=/}
* MySQL 셋업 [code] $sudo mysql -u root CREATE DATABASE gitea; CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost'; FLUSH PRIVILEGES ^C [/code]
* 접속 후 환경설정 데이터베이스 유형 : MySQL 호스트: 127.0.0.1:3306 Username: gitea 비밀번호: password 데이터베이스 이름: gitea Charset: utf8 저장소 최상위 경로 : /home/pi/gitea/gitea-repositories LFS Root Path : /home/pi/gitea/data/LFS 데몬 사용자 계정 : pi 도메인 : localhost SSH 포트 : HTTP 포트 : 3000 애플리케이션 URL : http://라즈베리파이IP:3000/ 로그 경로 : /home/pi/gitea/log
* 서비스에 등록 [code] $sudo nano /etc/systemd/system/gitea.service
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target
[Service] # Modify these two values ??and uncomment them if you have # repos with lots of files and get to HTTP error 500 because of that ### # LimitMEMLOCK=infinity # LimitNOFILE=65535 RestartSec=2s Type=simple User=pi Group=pi WorkingDirectory=/home/pi/gitea ExecStart=/home/pi/gitea/gitea web Restart=always Environment=USER=pi HOME=/home/pi
[Install] WantedBy=multi-user.target [/code]
* 서비스 시작 [code] sudo systemctl enable gitea.service sudo systemctl start gitea.service [/code]
* gitea nginx 설정 [code] $sudo nano /etc/nginx/sites-available/git.qualitybits.net server { listen 443 ssl; server_name 도메인; ssl_certificate /etc/letsencrypt/live/도메인/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;
* Nginx 서버 재시작 $ sudo systemctl restart nginx.service
[타이가를 외부에서 접속하기] 현재 상태에서 타이가는 192.168.0.25 IP로 내부내트워크에서 밖에 접속할 수 없다. yourdomain.com 이라는 도메인을 구입해서 사용하고 있고 taiga.yourdomain.com 이라는 주소로 타이가를 연결해서 사용해 보기로 한다.
* 타이가의 Nginx용 설정파일을 가상호스트용으로 바꾸고 다음과 같이 내용을 수정한다. $ sudo mv /etc/nginx/sites-available/taiga.conf /etc/nginx/sites-available/taiga.yourdomain.com.conf
[code] server { listen 80; server_name taiga.yourdomain.com;
이 강좌에서는 애플의 SpriteKit이라는 게임엔진을 배우고, 학습한 내용으로 직접 게임을 만들면서 최종적으로 짧은 슈팅게임을 완성합니다. 코딩언어로는 Apple에서 개발한 Swift의 5.0 버전을 사용합니다.
각 챕터에서 기능을 구현하는 데 필요한 이론과 문법만을 알기쉽게 설명하고, 바로 코딩하여 게임에 적용하는 방법으로 강의를 진행합니다. 각 강의 이름에 게임에서 사용할 핵심 기술을 기술하였습니다.걱정하지 마세요! 이 강의를 수강하면서 Swift의 모든 문법을 알지 못하더라도, 게임엔진의 사용법을 잘 모르더라도 게임을 만들 수 있다는 것을 알게 될 것입니다.
강좌는 다음과 같이 구성되어 있습니다. * 기초지식 설명 샘플게임 소개 게임엔진 설명 (SpriteKit) Xcode 프로젝트 기본 셋업하기 (Build and Version Number)
* 게임배경 만들기 게임 씬 만들기 (SKScene) 움직이는 별무리 배치하기 (Particle Emitter) 날아오는 운석 만들기 (Sprite Atlas, SKAction, Timer)
* 게임 알고리즘 구성하기 플레이어 셋업하기 (Optional) 잡졸 비행기 만들기 추진체 효과 내기 (SKEffectNode) 물리효과 구현하기 (Physics Simulation) 충돌시 피탄효과 구현하기 (SKCameraNode) 헤드업 디스플레이 구현하기(SKNode, SKLabelNode) 보스 셋업하기 스테이트머신으로 보스 관리하기 (State Machine) 보스 미사일 패턴 만들기 (Missile Pattern, Function Overloading) 아이템 셋업하기 (enumerateChildNode, Counter Timer) 게임흐름 처리하기 (Scene Transition)
* 게임 더 꾸미기 사운드 설정하기 (SKAudioNode) 앱 아이콘과 런치스크린 설정하기 (App Icon Generator) 구글 애드몹으로 배너 표시하기 (CocoaPods, Google Admob Banner Ads) 게임속에서 보상형광고 사용하기 (Google Admob Rewarded Video Ads)
이 강좌에서는 애플의 SpriteKit이라는 게임엔진을 배우고, 학습한 내용으로 직접 게임을 만들면서 최종적으로 짧은 슈팅게임을 완성합니다. 코딩언어로는 Apple에서 개발한 Swift의 5.0 버전을 사용합니다. 각 챕터에서 기능을 구현하는 데 필요한 이론과 문법만을 알기쉽게 설명하고, 바로 코딩하여 게임에 적용하는 방법으로 강의를 진행합니다. 각 강의 이름에 게임에서 사용할 핵심 기술을 기술하였습니다. 걱정하지 마세요! 이 강좌를 수강하면서 Swift의 모든 문법을 알지 못하더라도, 게임엔진의 사용법을 잘 모르더라도 게임을 만들 수 있다는 것을 알게 될 것입니다.
강좌는 다음과 같이 구성되어 있습니다.
기초지식 설명
샘플게임 소개
게임엔진 설명 (SpriteKit)
Xcode 프로젝트 기본 셋업하기 (Build and Version Number)
게임배경 만들기
게임 씬 만들기 (SKScene)
움직이는 별무리 배치하기 (Particle Emitter)
날아오는 운석 만들기 (Sprite Atlas, SKAction, Timer)
게임 알고리즘 구성하기
플레이어 셋업하기 (Optional)
잡졸 비행기 만들기
추진체 효과 내기 (SKEffectNode)
물리효과 구현하기 (Physics Simulation)
충돌시 피탄효과 구현하기 (SKCameraNode)
헤드업 디스플레이 구현하기(SKNode, SKLabelNode)
보스 셋업하기
스테이트머신으로 보스 관리하기 (State Machine)
보스 미사일 패턴 만들기 (Missile Pattern, Function Overloading)
아이템 셋업하기 (enumerateChildNode, Counter Timer)
게임흐름 처리하기 (Scene Transition)
게임 더 꾸미기
사운드 설정하기 (SKAudioNode)
앱 아이콘과 런치스크린 설정하기 (App Icon Generator)
구글 애드몹으로 배너 표시하기 (CocoaPods, Google Admob Banner Ads)
게임속에서 보상형광고 사용하기 (Google Admob Rewarded Video Ads)
이 강좌에서는 애플의 SpriteKit이라는 게임엔진을 배우고, 학습한 내용으로 직접 게임을 만들면서 최종적으로 짧은 슈팅게임을 완성합니다. 코딩언어로는 Apple에서 개발한 Swift의 5.0 버전을 사용합니다. 각 챕터에서 기능을 구현하는 데 필요한 이론과 문법만을 알기쉽게 설명하고, 바로 코딩하여 게임에 적용하는 방법으로 강의를 진행합니다. 각 강의 이름에 게임에서 사용할 핵심 기술을 기술하였습니다. 걱정하지 마세요! 이 강좌를 수강하면서 Swift의 모든 문법을 알지 못하더라도, 게임엔진의 사용법을 잘 모르더라도 게임을 만들 수 있다는 것을 알게 될 것입니다.
강좌는 다음과 같이 구성되어 있습니다.
기초지식 설명
샘플게임 소개
게임엔진 설명 (SpriteKit)
Xcode 프로젝트 기본 셋업하기 (Build and Version Number)
게임배경 만들기
게임 씬 만들기 (SKScene)
움직이는 별무리 배치하기 (Particle Emitter)
날아오는 운석 만들기 (Sprite Atlas, SKAction, Timer)
게임 알고리즘 구성하기
플레이어 셋업하기 (Optional)
잡졸 비행기 만들기
추진체 효과 내기 (SKEffectNode)
물리효과 구현하기 (Physics Simulation)
충돌시 피탄효과 구현하기 (SKCameraNode)
헤드업 디스플레이 구현하기(SKNode, SKLabelNode)
보스 셋업하기
스테이트머신으로 보스 관리하기 (State Machine)
보스 미사일 패턴 만들기 (Missile Pattern, Function Overloading)
아이템 셋업하기 (enumerateChildNode, Counter Timer)
게임흐름 처리하기 (Scene Transition)
게임 더 꾸미기
사운드 설정하기 (SKAudioNode)
앱 아이콘과 런치스크린 설정하기 (App Icon Generator)
구글 애드몹으로 배너 표시하기 (CocoaPods, Google Admob Banner Ads)
게임속에서 보상형광고 사용하기 (Google Admob Rewarded Video Ads)
이 강좌에서는 애플의 SpriteKit이라는 게임엔진을 배우고, 학습한 내용으로 직접 게임을 만들면서 최종적으로 짧은 슈팅게임을 완성합니다. 코딩언어로는 Apple에서 개발한 Swift의 5.0 버전을 사용합니다. 각 챕터에서 기능을 구현하는 데 필요한 이론과 문법만을 알기쉽게 설명하고, 바로 코딩하여 게임에 적용하는 방법으로 강의를 진행합니다. 각 강의 이름에 게임에서 사용할 핵심 기술을 기술하였습니다. 걱정하지 마세요! 이 강좌를 수강하면서 Swift의 모든 문법을 알지 못하더라도, 게임엔진의 사용법을 잘 모르더라도 게임을 만들 수 있다는 것을 알게 될 것입니다.
강좌는 다음과 같이 구성되어 있습니다. * 기초지식 설명 샘플게임 소개 게임엔진 설명 (SpriteKit) Xcode 프로젝트 기본 셋업하기 (Build and Version Number)
* 게임배경 만들기 게임 씬 만들기 (SKScene) 움직이는 별무리 배치하기 (Particle Emitter) 날아오는 운석 만들기 (Sprite Atlas, SKAction, Timer)
* 게임 알고리즘 구성하기 플레이어 셋업하기 (Optional) 잡졸 비행기 만들기 추진체 효과 내기 (SKEffectNode) 물리효과 구현하기 (Physics Simulation) 충돌시 피탄효과 구현하기 (SKCameraNode) 헤드업 디스플레이 구현하기(SKNode, SKLabelNode) 보스 셋업하기 스테이트머신으로 보스 관리하기 (State Machine) 보스 미사일 패턴 만들기 (Missile Pattern, Function Overloading) 아이템 셋업하기 (enumerateChildNode, Counter Timer) 게임흐름 처리하기 (Scene Transition)
* 게임 더 꾸미기 사운드 설정하기 (SKAudioNode) 앱 아이콘과 런치스크린 설정하기 (App Icon Generator) 구글 애드몹으로 배너 표시하기 (CocoaPods, Google Admob Banner Ads) 게임속에서 보상형광고 사용하기 (Google Admob Rewarded Video Ads)
* 20 Xcode Tips & Tricks - Updated for Xcode 9 - 2017 https://www.youtube.com/watch?v=38LNXk_oTak&t=308s - 1. Visual debugging: 앱을 실행시키고 있는 상태에서 디버깅 창의 작은사각+큰사각+작은사각 형태의 아이콘을 클릭하면 층구조의 스토리보드를 볼 수 있다. - 4. cmd+0: 왼쪽 상태창 숨김. cmd+opt+0: 오른쪽 상태창 숨김 - 5. Automatic indentation: 영역지정후 ctl+I - 6,7. 컴포넌트 배치나 연결에 View hierachy를 사용하라 - 10. 폰트크기조정: cmd++ or cmd-- - 11. 리네이밍: 영역지정후 오른쪽버튼 -> refactor -> rename 단축키는 cmd+ctl+e - 12. 리팩토링: 영역지정후 오른쪽버튼 -> refactor -> extract method - 13. cmd 누른 상태에서 브라킷에 가져다대면 시작 브라킷까지의 영역을 보여줌 - 15. //MARK: - Example 을 쓰면 아웃라인에서 함수를 구분해줌 - 16. 주석 on off: cmd+/ - 17. cmd+shift xcode 전용 스포트라이트 창이 열림 - 18. 커스텀 definition추가: Xcode에서 커스텀 함수로 추가하고 싶은 영역을 선택해서 함수 스니펫에 추가하면 단축키로 함수를 추가 가능. - 19. 함수를 선택 -> 오른쪽 클릭 -> jump to definition 으로 원래 함수정의 위치로 날라감
* 10 Xcode Tips & Tricks - Xcode 10 https://www.youtube.com/watch?v=1uVnWbygg_c - 1. 스토리보드 리팩토링: Editor -> Refactor to Storyboard - 2. Build time Track: defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 를 터미널에 입력 - 7. 멀티라인 커서 에디팅: ctrl + shift + 클릭 - 8. vertical selection: option + 드래그 - 9. 스토리보드 프리뷰: assistant editor -> Manual -> preview - 10. #warning("워닝메시지"), #error("에러메시지")를 붙여서 반드시 수정하도록 notice를 줄 수 있다.