컴퓨터크래프트 강좌

[컴퓨터크래프트] 21. Printer



이번 강좌는 저번에 하려다가 못했던 프린터 강좌입니다.

컴퓨터크래프트에서도 마찬가지로 프린터는 종이를 프린트합니다.

프린트하는방법은 두가지가 있는데요:

1. 프로그램을 적는것처럼 글씨를 적고 프린트한다

2. 아주 복잡하고 귀찮게 Printer API를 써서 프린트한다

입니다. 이 두개가 있지만 사람들은 물론 첫번째껄 쓰겠죠.

그냥 대충 쓰고싶으신분들은 첫번째껄, 혹은 페이지 타이틀, 텍스트 위치처럼 아주 귀찮고 디테일하게 하고싶으시다면 귀찮으시더라도 두번째 방법을 쓰셔야 합니다.


일단 프린터 레시피입니다.

(역시 컴퓨터크래프트는 쌉니다)

그리고 이번에도 컴퓨터 옆에다가 설치를 해야 합니다. (싫으셔도 하셔야합니다.)

맞게 설치하면 이렇게 될껍니다.

그리고 프린트를 오른쪽 클릭하면 이런 GUI가 보입니다.

1. 여기에는 잉크가 들어갑니다.

2. 여기에는 프린트할 종이

3. 여기에는 결과물 (프린트되어 나온 종이)가 나옵니다.

잉크 슬롯에는 아무 염료나 넣으면 됩니다. 그럼 그 색깔로 글씨가 프린트가 되어 나옵니다.

종이는 꼭 바닐라의 Paper만 넣으셔야 합니다. (아이템코드 339)

초록색 슬롯에 종이를 넣으면 저렇게 프린터의 윗부분에 하얀색이 나옵니다. (센스쟁이)

물론 밑에도 결과물이 나오면 하얀색으로 나오지요.

이렇게요.

그럼 이제 프린트하는 방법을 알아보겠습니다. 일단 아주 쉬운 첫번째 방법으로 해볼텐데요.

프로그램을 만들때처럼 edit 프로그램이름을 칩니다.

그리고 프린트하실 문구를 적습니다.

이렇게 하시고 평소와 같이 프로그램 저장을 할때처럼 Ctrl을 누릅니다.

그럼 밑에 Save Exit Print가 나오는데, 여기서 Print를 선택하시고 Enter을 눌러주시면 됩니다.

그렇다면 프린트할 내용의 길이에 따라 몇페이지가 프린트가 되었다고 나옵니다.

그리고 프린터의 텍스쳐를 보면, 밑에 무언가가 프린트가 되었다고 나오네요.

(위에랑 같은 사진이 절대 아닙니다.)

그리고 보시면 프로그램의 제목을 타이틀로 종이가 하나가 프린트 되었네요.

꺼내서 책을 보는것처럼 우클릭을 하면,

이렇게 입력했던 텍스트가 그대로 프린트되어서 나옵니다.

이번엔 두번째 방법을 써서 프린트해보도록 하겠습니다.

일단 쓸수 있는 API들입니다. (출처: http://computercraft.info/)

Method NameDescription
printer.getPaperLevel()

프린트가 가능한 종이의 남은 갯수를 알려준다

printer.newPage()

새로운 종이에 작업을 시작합니다

printer.endPage()

작업중이던 종이를 출력한다

printer.write(string text)

term.write()와 같은 방법으로, 종이에 문구를 쓴다

printer.setPageTitle(string title)

페이지의 제목을 설정한다

printer.getInkLevel()

잉크의 남은 갯수를 알려준다

printer.getCursorPos()

현재 컴퓨터가 작성하고 있는 커서 위치를 알려준다

printer.setCursorPos(number x, number y)

term.setCursorPos()와 같은 방법으로, 커서 위치를 옮긴다

printer.getPageSize()

term.getSize()와 같은 방법으로, 종이의 사이즈를 알려준다

이걸 쓰려면 역시 다시 lua를 써야합니다.
대량생산용으로 프로그램을 만들어도 되지만, 여기선 설명만 할것이므로 lua를 실행해서 하겠습니다.
일단 프린터와 연결을 해주어야 하므로, printer = peripheral.wrap("방향")을 합니다.
이렇게 오른쪽의 추가장치를 컴퓨터에 printer이라고 설정했습니다.
바로 종이 작업을 시작하겠습니다.
printer.newPage( )를 이용해 프린터 안에 종이를 하나 삽입합니다.
만약 안에 종이랑 잉크가 있다면,

63개의 종이와 63개의 잉크가

62로 변하고 회색 화살표가 하얀색이 됩니다.

화살표가 하얀색이라면 안에 작업중인 종이가 있다는 뜻입니다.

그럼 이제 타이틀을 설정해보겠습니다.

printer.setPageTitle("Title")을 하시면 페이지의 제목을 Title로 설정합니다.

그리고 printer.write("문구")를 이용해 프린트할 문구를 적습니다.

작업이 끝나셨다면 printer.endPage( )를 이용해 페이지를 출력합니다.

이렇게 페이지의 제목은 Title로 나왔습니다.

그리고 확인해보려는데...

아......... 짤리군요

이게 두번째 방법을 써서 하는것의 단점입니다. 지나간다고 해도 무시하고 계속 적어요.

그래서 적을때마다 수시로 printer.getCursorPos( )printer.setCursorPos(x,y)를 이용해 지나갔는지 확인을 하면서 적어야 합니다. (종이의 사이즈는 printer.getPageSize( )를 하시면 최대의 x랑 y를 알려줍니다)

그리고 마지막으로, 이 페이지들을 합쳐서 책으로 만들 수 있습니다.

프린트된 페이지, 실이랑 가죽을 아무렇게나 조합하면 책이 만들어 지는데요, 페이지를 옮기려면 마우스 스크롤을 이용하면 됩니다.


아무래도 처음으로 이렇게 길게 써보는것 같네요. 사실은 대부분이 사진이지만요

그럼 다음주엔 P_S_tree님이 요청한 '터틀 원격조종하기'로 뵙겠습니다.

읽어주셔서 감사합니다. 저희 블로그 자주 방문해주세요!