루아(LUA)/마이크로스튜디오23 여러개의 똥이 내려온다 [마이크로 스튜디오#6] 10개의 똥이 각각 생성될 때 자기만의 스피드를 가지고 생성된다. downPoop = { xPos=0, ySpeed = 0, yPos = 0, yHeight = screen.height/2, new = function(self,o) o = o or {} setmetatable(o,self) self.__index = self return o end, update = function(self) if self.yHeight-self.yPos > -100 then self.yPos = self.yPos + self.ySpeed print(self.yPos) else self.yHeight = self.yPos+100 self.xPos = math.random()*screen.width/2 -math.rando.. 2022. 1. 21. 여러개의 똥이 내려온다 [마이크로 스튜디오#5] downPoop = { new = function(self,o) o = o or {} setmetatable(o,self) self.__index = self return o end, } init = function() yPos=0 poop={} for i=1,10 do poop[i] = downPoop:new() poop[i].xPos = math.random()*screen.width/2 -math.random()*screen.width/2 print(poop[i].xPos) end end update = function() yPos = yPos+math.random()*3 end draw = function() screen:clear(-1) for i=1,#poop do screen:drawSpri.. 2022. 1. 21. 똥 피하기(Avoiding poop) 게임을 만들어 보자 [마이크로 스튜디오#4] 똥 피하기 게임을 마이크로 스튜디오에서 만들어 보자. 1. 똥 이미지 준비. 코드: init = function() yPos=0 --xPos=math.random()*screen.width/2-math.random()*screen.width/2 poop={} end update = function() yPos = yPos+1 xPos=math.random()*screen.width/2-math.random()*screen.width/2 --if xPos>180 then --print(xPos) --end end draw = function() screen:clear(-1) screen:drawSprite("poop",xPos,100-yPos,15,15) end 2022. 1. 20. 장애물 랜덤으로 나타나게 하기 [마이크로 스튜디오#3] init = function() position = 0 scrW = screen.width/2 blade = {scrW,scrW+100,scrW+200} end update = function() position = position + 2 for i=1, #blade do if blade[i] 2022. 1. 20. 움직이는 바닥위에 장애물 만들고 화면에서 사라지면 나타나게 하기 [마이크로 스튜디오#2] init = function() position = 0 scrW = screen.width/2 blade ={scrW,scrW+100,scrW+200} end update = function() position = position + 1 if blade[1] 2022. 1. 20. 움직이는 바닥 만들기 [마이크로 스튜디오#1] 위 이미지처럼 움직이는 바닥을 만들어 보자. init = function() position = 0 end update = function() position = position + 1 end draw = function() screen:clear(-10) for i= -10,10 do screen:drawSprite("wall",i*50-position%50,-76,50) end end screen:drawSprite("wall",i*50-position%50,-76,50) 이 부분만 잘 이해해 두면 되겠다. i*50의 50과 position%50의 50, 마지막 스케일 50은 일치해야 한다. 2022. 1. 19. 마이크로 스튜디오에서 프로젝트를 생성해 보자 [루아강좌#5] 이전글: https://roblox-jk77.tistory.com/71 마이크로 스튜디오 튜토리얼을 살펴보자 [루아강좌#4] 이전글: https://roblox-jk77.tistory.com/69 루아 게임 개발 왕초보 강좌_변수와 print() 함수[강좌#3] 이전글: https://roblox-jk77.tistory.com/68?category=944500 루아 게임 개발 왕초보 강좌 feat 마이크로.. roblox-jk77.tistory.com 로블록스를 배우기 위한 루아어 기초 강좌를 진행하고 있습니다. 이제 마이크로 스튜디오에 프로젝트를 생성해 봅시다. 상단의 Create를 선택하고 Create New Project를 클릭합니다. 타이틀(drawRect)을 입력하고 Advanced option.. 2022. 1. 15. 마이크로 스튜디오 튜토리얼을 살펴보자 [루아강좌#4] 이전글: https://roblox-jk77.tistory.com/69 루아 게임 개발 왕초보 강좌_변수와 print() 함수[강좌#3] 이전글: https://roblox-jk77.tistory.com/68?category=944500 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#2] 이전글: https://roblox-jk77.tistory.com/59?category=944500 루아 게임 개발 왕초보.. roblox-jk77.tistory.com 루아로 게임 개발 왕초보 강좌 네번째입니다. 이제 마이크로 스튜디오로 가봅시다. 우선 마이크로 스튜디오에서 튜토리얼을 모두 진행해 보면 좋습니다. 루아어가 아닌 마이크로스크립트어로 튜토리얼을 진행하고 또 영어로 되어 있지만 그리 어렵지 않은.. 2022. 1. 15. 루아 게임 개발 왕초보 강좌_변수와 print() 함수[강좌#3] 이전글: https://roblox-jk77.tistory.com/68?category=944500 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#2] 이전글: https://roblox-jk77.tistory.com/59?category=944500 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#1] 로블록스 우리 아들도 참 좋아합니다. 로블록스를 즐기다 보면 나도 게임 하나 만들어.. roblox-jk77.tistory.com 루아 게임 개발 왕초보 강좌를 이어갑니다. 오늘은 리플릿에서 변수와 print()함수에 대해 알아보겠습니다. 우선 리플릿에서 왼쪽 상단에 크리에이트를 클릭합니다. 크롬에서 사용한다면 한글 번역을 해서 사용해도 좋지만 영어에 조금이라도 익숙해지기 위해서 .. 2022. 1. 14. 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#2] 이전글: https://roblox-jk77.tistory.com/59?category=944500 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#1] 로블록스 우리 아들도 참 좋아합니다. 로블록스를 즐기다 보면 나도 게임 하나 만들어 보고 싶다라는 생각이 절로 듭니다. 미국의 초등학생들도 로블록스로 게임 개발도 많이 하고 돈도 번다는 roblox-jk77.tistory.com 이번 포스팅에서는 루아를 실행하고 실습해 볼 온라인 사이트를 소개해 드리겠습니다. 루아를 컴퓨터에 설치해서 사용해도 되지만 제 강좌는 결국은 로블록스에서 간단한 게임을 만드는 것까지가 목표이기 때문에 온라인에서 루아를 실행하고 실습해 보는 것만으로도 충분합니다. 우선 아래 소개해 드릴 두 사이트는 구글 계정으로 가입이.. 2022. 1. 14. 한자 퀴즈 게임 [개발일지#4] - 한국어문회 8급 한자 랜덤보기 사용자가 각 한자능력시험 기관을 선택하고 급수를 지정하면, 해당 급수의 한자 문제를 출제하고 정답을 맞추는 형태의 프로그램을 만들어 보려고 합니다. 개발 초보라서 원하는 형태의 프로그램을 당장 만들 수는 없지만 차근차근 진행해 보고 있습니다. 일단 화면을 클릭하면 한국 어문회 8급 한자 50자가 랜덤으로 보여지는 것까지 만들었습니다. 다음 순서는 다른 한자능력시험 기관의 한자를 추가하고 만들어 보는 것이 될 듯 합니다. 링크: http://lotusjk77.com/wp-content/game/test/index.html 한국어문회 8급 한자능력검정시험 pdf 학습지가 필요하다면 해남매스토어 (500원) https://smartstore.naver.com/haenammae/products/536025047.. 2022. 1. 14. 마이크로 스튜디오 게임을 웹상에 개시할 때 마이크로 스튜디오에서 스프라이트를 쓰지 않고, 아주 간단한 게임을 html 파일로 내보내기를 했을 때 대략 500Kb의 용량이 된다. 그 중 runner.js, microengine.js, fengari-web.js 파일이 450Kb의 용량을 차지한다. html파일로 내보내기 한 후 runner.js, microengine.js, fengari-web.js 3개의 파일을 삭제하고 공동으로 사용하기 위해 상위 폴더에 복사해 넣는다. 그리고 인덱스파일에서 다음 부분을 찾아 아래와 같이 변경하면 용량을 크게 아낄 수 있게 된다. script src="../runner.js"> 2022. 1. 13. 마이크로 스튜디오 스프라이트 최대 크기 마이크로 스튜디오에서 스프라이트 만들 때 최대 크기 알고 계시나요~? 256*256이 최대 해상도입니다. 256이상 숫자를 입력하면 256으로 돌아옵니다. 참고로 마이크로 스튜디오에서 스프라이트를 만들때는 아이패드로 만들면 편하게 만들 수 있어요~ 2022. 1. 13. 루아 게임 개발 왕초보 강좌 feat 마이크로스튜디오[강좌#1] 로블록스 우리 아들도 참 좋아합니다. 로블록스를 즐기다 보면 나도 게임 하나 만들어 보고 싶다라는 생각이 절로 듭니다. 미국의 초등학생들도 로블록스로 게임 개발도 많이 하고 돈도 번다는 얘기를 들으면 더욱 관심이 가게되죠~ 저는 메타버스를 활용한 교육에 관심을 갖고 있던 중 로블록스를 알게 되었고, 학습용 게임을 하나 만들어 봤으면 좋겠다는 마음으로 도전을 하고 있습니다. 처음에는 만만하게 보고 시작했는데.. 게임을 하나 만든다는 것은 그리 쉬운일이 아니더군요. '로블록스 게임제작 무작정 따라하기 책'으로 시작을 했는데, 루아라는 언어를 제대로 모르니 기껏해야 점프게임 정도가 고작이어서, 루아를 제대로 배워봐야겠다는 생각으로 루아책과 씨름을 하고 있습니다. 루아는 간단하고 배우기 쉬운 언어로 알려져 있습.. 2022. 1. 13. 프로그램 용어 타이핑 연습 게임 [개발일지#3] --[[ 저는 문과이며 코딩입문자로 제 모든 글과 코딩에 오류가 있을 수 있음을 알려드립니다. 로블록스와 마이크로스튜디오로 학습 또는 교육용 게임을 만들어 보는 것이 2022년 목표입니다. 2022.1.1. 방문: 독학_YouTube, 독학_Cafe -- ]] -- 주석 끝. 이전글: https://roblox-jk77.tistory.com/55 프로그램 용어 타이핑 연습 게임 [개발일지#2] 이전글 https://roblox-jk77.tistory.com/51?category=947415 프로그램 용어 타이핑 연습 게임 [개발일지#1] 루아 독학 12일차. 프로그래밍 인 루아 책을 1/5정도 이해한 것 같다. 루아를 익히고자 하는 사람들에.. roblox-jk77.tistory.com 지난 글에서는 루.. 2022. 1. 12. 마이크로 스튜디오 루아로 키보드 ID 찾아내기 코드 아래 코드는 누른 각 키보드 키의 ID를 나타냅니다. 프로젝트에 필요한 식별자 목록을 설정하는 것이 유용할 수 있습니다. 중요한 점은 keyboard[key]는 0과 1을 반환합니다. 그런데 0은 루아에서 true라는 점입니다. 보통 다른 프로그래밍 언어에서 0은 false입니다. 1 2 3 4 5 6 7 8 9 10 11 draw = function() screen:clear(-100) local y = 80 for key in pairs(keyboard) do if keyboard[key] == 1 then print(keyboard[key]) screen:drawText(key,0,y,15, "#FFF") y = y - 20 end end end Colored by Color Scripter cs 2022. 1. 11. 마이크로 스튜디오 여러줄 주석(comments) 나처럼 누군가는 이것을 찾아 헤메겠지. 검색해도 잘 안나와서 나처럼 이것을 찾아 헤메는 분들을 위해 포스팅 함. 2021.1.6.일 현재 공식적으로 여러줄 코멘트는 없는 듯 함. 그러나 파이썬 여러줄 주석처리가 먹히는 것 같기도 하고 그렇다. 주석처리 된 부분이 색깔이 바뀌지는 않지만.. 마이크로 스튜디오 역사가 별로 안됐나? changelog가 2019년 6월 부터 시작되는 걸 보니 오래되지는 않은 듯 하다. 2022. 1. 6. 마이크로 스튜디오 점프 게임코드 최종 게임 링크: http://lotusjk77.com/wp-content/game/tutorialcreateagame/index.html jump_game lotusjk77.com 개발 튜토리얼: https://youtu.be/dmzb3OYbA8o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 init = function() position = 0 hero_y = 0 hero_vy = 0 blades={2.. 2022. 1. 6. 마이크로 스튜디오에서 루아 사용해 보기 설정: 프로젝트를 만들 때 설정 탭을 열고 "고급 옵션 표시"를 클릭한 다음 Lua를 프로그래밍 언어로 선택. Tip: Lua에서 객체 함수(메소드)를 호출할 때 . 대신 :를 사용. 사용자 입력 확인: 사용자 입력은 microStudio에서 키보드, 터치, 마우스 또는 게임패드 인터페이스의 필드를 확인하여 스캔할 수 있다. 예를 들어, A 키를 눌렀는지 확인하기 위해 키보드를 확인할 수 있습니다.A. 이 필드는 실제로 세 가지 상태를 가질 수 있습니다. if you haven't pressed A yet in the current session, keyboard.A is undefined keyboard.A is equal to 1 (true in microScript) if you are curren.. 2022. 1. 4. 마이크로 스튜디오 튜토리얼로 개발한 첫 게임 인터넷 연결이 끊겼을 때 크롬에서 할 수 있는 점프게임과 비슷하다. 튜토리얼을 따라하면 개발 할 수 있다. http://lotusjk77.com/wp-content/game/tutorialcreateagame/index.html jump_game lotusjk77.com 2022. 1. 4. screen.fillRect() screen.fillRect 사각형을 그린다. screen.fillRect(0,0,screen.width,100,"rgb(255,0,0)") 앞의 두 매개변수 0,0은 차례로 중심 x,y좌표 값이다. x의 좌표값은 화면의 크기에 따라 유동적이나 y값은 -100~+100까지로 절대 값이다. 세변째, 네번째 매개변수는 크기를 나타낸다. 마찬가지로 x값은 유동적이며 y값은 200을 넘는 값은 의미가 없다. 200이 최대 값. 마지막 매개변수를 생략할 수 있으며, 생략할 경우 마지막 사용됐던 컬러값이 사용된다. 2022. 1. 2. 세 가지 핵심기능 init, update 및 draw는 microStudio에서 알아야 할 세 가지 핵심 기능이다. init는 게임이 시작될 때 한 번만 호출되며, 나중에 몇 가지 전역 변수를 초기화하는 데 사용하게 된다. update는 게임이 실행되는 동안 정확히 초당 60회 호출되며, 게임 애니메이션, 물리학 및 로직 업데이트에도 사용된다. draw는 화면을 다시 그릴 수 있을 때마다 호출된다. 대부분의 경우 초당 60회 호출되지만 일부 컴퓨터나 태블릿은 초당 120회 이상 호출될 수 있다. 물론 과부하가 걸려 초당 60회 미만으로 호출되는 경우도 있다. 그래서 update와 draw 두개의 기능이 분리되어 있다. 무슨 일이 일어나더라도 업데이트는 정확히 초당 60번 호출된다. 그래서인지는 모르겠으나 update와 d.. 2022. 1. 2. screen.drawSprite() screen.drawSprite(sprite, x, y, width, height) 스프라이트 섹션에서 만든 스프라이트 중 하나를 그린다. 첫 번째 매개변수는 표시할 스프라이트의 이름에 해당하는 문자열이다.(예: "icon"). 그런 다음 스프라이트를 표시할 x,y 좌표를 표시한다.마지막 매개변수 높이를 생략할 수 있는데, 이 경우 높이는 스프라이트의 폭과 비율에 따라 계산된다. 2022. 1. 1. 이전 1 다음