반응형

휴대폰 화면보다 큰 이미지를 배경으로 드래그 스크롤 하면서 동작하는 앱을 만들 때 사용하면 좋겠습니다.

- 기본 원리는 canvas 위쪽과 왼쪽에 크기 조절용 component (VerticalArrangement, HorizontalArrangement, Image, 등) 을 두고 이것의 크기를 조절하면 canvas 중에서 휴대폰 화면에 보이는 부분이 정해지는 원리입니다.

 


앱 구상

[참고 앱]

https://appinventor.mit.edu/explore/blogs/karen/2018/03.html

Responsive Design: Drag a Canvas larger than screen size

 

기본기능

1. 화면보다 큰 이미지를 canvas 배경으로 설정하고 드래그 스크롤 가능하도록 한다.

2. canvas에 image sprite를 추가하고 드래그하여 움직일 수 있도록 한다.

 


앱 제작

1. 화면 디자인

2. 블록 코딩

- 변수 설정

- canvas 크기를 결정할 배경 이미지 크기

- 처음 휴대폰 화면크기

- 위치 조절용 component의 최대 크기

- 시작하면 init 함수 호출

- canvas 크기와 배경 이미지 설정

- 전체 화면크기는 배경 이미지 * 2

- 보이는 부분을 결정하는 크기 조절용 component (sH, sW) 크기 설정

- 크기 조절용 component (sH, sW) 최대 크기 저장

- canvas를 드래그했을 때 image sprite를 드래그한 것이 아니라면 (빨간 box)

- 드래그한 만큼 크기 조절용 compnent 크기 변경

- image sprite 드래그하여 위치 변경

3. 실행 화면

4. 프로그램 소스(aia)

canvas_scroll_2020702.aia
0.68MB

 


 

관련글 : 앱인벤터 소개

https://blog.naver.com/sfex/221994450104

[make app] app inventor 소개

 


 

반응형
반응형

[참고 앱]

https://youtu.be/RtbCqZvhkUU

 

wallpaper.aia
0.04MB

 
https://youtu.be/Z9ad_GS5qF8

 

 


기본기능

1.Firebase 이미지(file) 가져오기

2.휴대폰에 이미지(file) 파일로 저장하기

- 이미지 파일 저장은 canvas를 이용하였습니다.

- 읽어들일 때 Image component 사이즈 안맞으면 나타나지 않을 수 있습니다. 오토로 해보세요.


앱 제작

1. 화면 디자인

- Firebase 설정 부분은 동영상 참고하세요.

 

 

화면디자인 (firebase 설정)

2. 블록 코딩

화면시작되면 Firebase 에서 이미지를 요청하고 응답이 오면 Image component 에 셋팅하면 됩니다.

 

 

이미지 file로 저장은 Canvas component 를 이용합니다. (TinyDB 는 text만 저장할 수 있습니다.)

 

 


3. 앱 실행 화면 및 aia file

- 이번 앱은 kodular 에서 만들었습니다. kodular -> https://c.kodular.io/

 

 

 

 

wallpaper1.aia
0.04MB

 


관련글 : 앱인벤터 소개

https://blog.naver.com/sfex/221994450104

 

 

 


 

 

 

반응형
반응형

wz_color_test.aia
0.01MB

 

앱인벤터 처음 접근하기는 쉬우나 조금 복잡해지면 블록코딩 하기 어렵다.

특히 많은 버튼을 이용할 경우 각 버튼별로 같은 루틴을 설정하는 것이 삽질처럼 느껴진다.

이때 적용할 팁을 알려드립니다.


[참고] http://ai2.appinventor.mit.edu/reference/other/any-component-blocks.html

 

버튼1 에 대해 처리해야 하는 내용을 마우스 오른 버튼 누르면 나타나는 메뉴에서 Make Generic 을 선택하면

when any Button.Click 으로 변환되고 모든 버튼에 대해 동일한 처리를 한꺼번에 설정할 수 있다.

Figure 6. Top: A when Button1.Click event that changes a number of Button1’s properties. Bottom: After using the “Make Generic” menu option (bottom), the when Button1.Click event is replaced with a when any Button.Click event, and all blocks that reference Button1

 


예제파일 설명

 

첨부된 aia 파일은 지뢰 찾기나 단어 퍼즐 같은 게임에 사용할만한 기본 화면과 코딩을 예제로 작성한 것입니다.

 

- 실행화면

실행화면

 

- 모든 버튼을 하나로 묶어서 변수로 선언 코딩

버튼 묶음 변수 선언

 

- 처음 화면 설정 코딩

전체 버튼에 대해 반복문으로 색깔과 text를 설정

 

- 버튼이 클릭되었을 때 색깔반전 코딩

묶음변수를 사용하여 각 버튼이 클릭되었을 때 색깔을 반전하는 기능을 일괄 설정

 

 


관련글 : 앱인벤터 소개

https://blog.naver.com/sfex/221994450104

 

 


 

 

 

반응형
반응형

app inventor 소개

[참고] https://blog.naver.com/lymj1234/221640377293

- 구글에서 쉽게 안드로이드 앱을 만들 수 있도록 2010년 앱인벤터를 개발해 무료로 제공

- 현재는 MIT 미디어랩에서 지원 및 계발을 계속해서 2014년 현재 '앱 인벤터 2.0' 버전을 내놓았습니다.

- 앱 인벤터(App Inventor)는 컴포넌트들을 배치하여 화면 디자인을 하고 프로그래밍은 (MIT 스크래치 블록코딩기술)블록들을 연결하면 완성됨

- 웹 개발환경이라서 PC에 프로그램 설치 필요없음. 회원 가입하면 바로 시작

 










디자인화면 과 블록 화면

앱인벤터 종류

[참고] https://blog.naver.com/nicelsh0/221780220725



반응형

+ Recent posts