반응형
Using the New Native Web and Video API’s
native webView와 native video 객체와 관련한 새로운 API가 새로 나왔습니다.
이전의 Web Popups와 video playback 의 한계를 많이 보완했습니다.
***** Web Views vs. Web Popups
이 두가지 콘셉은 상당히 비슷하지만 몇가지 다른 것이 있습니다.
- 한번에 한개 이상의 WebView를 가질 수 있음
- WebView는 다른 display객체들 처럼 회전시키거나 이동시킬 수 있다.
(이 객체들이 native 객체들이기 때문에 아직까지는 group에 포함시킬수는 없음)
- phisics body를 적용할 수 있다.
- WebView는 반드시 확실하게(명시적으로) remove시켜야 함
***** Video Objects
Native 비디오 객체들은 그것을 계승한 media.playVideo보다 훨씬 유연합니다.
- 비디오 객체의 사이즈를 specify할 수 있다.(전체 스크린이 아니어도 된다.)
- 한 화면에 여러개의 VIDEO 객체들이 있을 수 있다.
- 비디오의 특정 위치를 프로그래밍으로 찾아서 사용할 수 있다.
- 프로그램에서 비디오를 play 시키고 pause 시킬 수 있다.
- 다른 display 객체들처럼 비디오 객체들도 움직이거나 회전시킬 수 있다.
(이 객체들이 native 객체들이기 때문에 아직까지는 group에 포함시킬수는 없음)
- physics body를 적용할 수 있다.
***** native.newWebView() 사용법
신택스(syntax)는 아래와 같습니다.
native.newWebView( left, top, width, height [, listener] )
보다 자세한 사항은 API documentation 에 있습니다.
아래 예제가 있습니다.
local webView = native.newWebView( 0, 0, 320, 250 )
webView:request( "http://coronasdk.tistory.com" )
이 예제는 320*250 크기의 웹뷰를 생성하고 그 안에 http://coronasdk.tistory.com 를 display합니다.
request()함수 안에는 local HTML파일도 불러올 수 있습니다.
아래 예제는 웹뷰에 리스너를 단 예제입니다.
local function webListener( event )
local url = event.url -- reference to url being requested
if event.errorCode then -- is nil when there is no error
native.showAlert( "Error!", event.errorMessage, { "OK" } )
end
end
local webView = native.newWebView( 0, 0, 320, 250, webListener )
webView:request( "http://fakewebsitethatshouldthrowerror.com" )
보시면 webListener라는 리스너를 달아서 에러가 발생하면 alert화면을 띄워 줍니다.
이벤트의 파라미터로는 event.url, event.errorCode, event.errorMessage 가 있습니다.
아래 예제는 WebView를 회전(rotate) 시키는 예제 입니다.
local webView = native.newWebView( 0, 0, 100, 100 )
webView:request( "http://coronasdk.tistory.com/" )
webView.x = 200
webView.y = 240
webView.rotation = 45
-- let's close the webView
webView:removeSelf()
webView = nil
좀 더 자세한 사항은 API Documentation을 참조하세요.
그리고 샘플 코드는 /SampleCode/Interface/WebViewPhysics 에 있습니다.
(이 샘플 파일은 Corona build 2012.731 이후 버전에 있습니다.)
- 로컬 content를 load 할 때 약간의 버그가 있습니다. 이 버그는 조만간 수정될 예정입니다. -
***** native.newVideo()usage
native video object는 리스너가 없기 때문에 이해하가 더 쉽습니다.
비디오 객체를 생성하고 위치를 찾거나 이동시키거나 회전시키거나 physics를 적용하는 일만 하면 됩니다.
그리고 이 모든 일이 끝났으면 remove시키면 됩니다.
신택스는 아래와 같습니다.
native.newVideo( left, top, width, height )
보다 자세한 내용은 여기를 참조하세요.
아래 예제는 비디오 객체를 생성하고 비디오 파일을 로딩하고 특정 지점을 찾고 움직이고 회전시키고 그리고 최후에는 이 객체를 remove 시키는 예제 입니다.
local video = native.newVideo( 0, 0, 220, 275 )
-- load a video and jump to 0:30
video:load( "myvideo.m4v", system.DocumentsDirectory )
video:seek( 30 )
-- play video and move/rotate
video:play()
video.x = 50
video.y = 150
video.rotation = 90
-- pause the video and remove
video:pause()
video:removeSelf()
video = nil
예제 파일은 SampleCode/Interface/VideoViewPhysics 에서 볼 수 있습니다.
(이 샘플 파일은 Corona build 2012.731 이후 버전에 있습니다.)
보다 자세한 사항은 API documentation을 이용하세요.
위 내용 원본은 여기에 있습니다.
이 원본을 바탕으로 제가 간단히 요약 번역 했습니다.
native display들은 시뮬레이터에서 지원하지를 못합니다.
그리고 Corona build 2012.731 버전은 2012년 1월 24일 올라왔고 아직 유료 사용자에게 밖에 공개가 안 돼 있습니다.
다음에는 샘플코드를 분석해 보도록 하겠습니다.
native webView와 native video 객체와 관련한 새로운 API가 새로 나왔습니다.
이전의 Web Popups와 video playback 의 한계를 많이 보완했습니다.
***** Web Views vs. Web Popups
이 두가지 콘셉은 상당히 비슷하지만 몇가지 다른 것이 있습니다.
- 한번에 한개 이상의 WebView를 가질 수 있음
- WebView는 다른 display객체들 처럼 회전시키거나 이동시킬 수 있다.
(이 객체들이 native 객체들이기 때문에 아직까지는 group에 포함시킬수는 없음)
- phisics body를 적용할 수 있다.
- WebView는 반드시 확실하게(명시적으로) remove시켜야 함
***** Video Objects
Native 비디오 객체들은 그것을 계승한 media.playVideo보다 훨씬 유연합니다.
- 비디오 객체의 사이즈를 specify할 수 있다.(전체 스크린이 아니어도 된다.)
- 한 화면에 여러개의 VIDEO 객체들이 있을 수 있다.
- 비디오의 특정 위치를 프로그래밍으로 찾아서 사용할 수 있다.
- 프로그램에서 비디오를 play 시키고 pause 시킬 수 있다.
- 다른 display 객체들처럼 비디오 객체들도 움직이거나 회전시킬 수 있다.
(이 객체들이 native 객체들이기 때문에 아직까지는 group에 포함시킬수는 없음)
- physics body를 적용할 수 있다.
***** native.newWebView() 사용법
신택스(syntax)는 아래와 같습니다.
native.newWebView( left, top, width, height [, listener] )
보다 자세한 사항은 API documentation 에 있습니다.
아래 예제가 있습니다.
local webView = native.newWebView( 0, 0, 320, 250 )
webView:request( "http://coronasdk.tistory.com" )
이 예제는 320*250 크기의 웹뷰를 생성하고 그 안에 http://coronasdk.tistory.com 를 display합니다.
request()함수 안에는 local HTML파일도 불러올 수 있습니다.
아래 예제는 웹뷰에 리스너를 단 예제입니다.
local function webListener( event )
local url = event.url -- reference to url being requested
if event.errorCode then -- is nil when there is no error
native.showAlert( "Error!", event.errorMessage, { "OK" } )
end
end
local webView = native.newWebView( 0, 0, 320, 250, webListener )
webView:request( "http://fakewebsitethatshouldthrowerror.com" )
보시면 webListener라는 리스너를 달아서 에러가 발생하면 alert화면을 띄워 줍니다.
이벤트의 파라미터로는 event.url, event.errorCode, event.errorMessage 가 있습니다.
아래 예제는 WebView를 회전(rotate) 시키는 예제 입니다.
local webView = native.newWebView( 0, 0, 100, 100 )
webView:request( "http://coronasdk.tistory.com/" )
webView.x = 200
webView.y = 240
webView.rotation = 45
-- let's close the webView
webView:removeSelf()
webView = nil
좀 더 자세한 사항은 API Documentation을 참조하세요.
그리고 샘플 코드는 /SampleCode/Interface/WebViewPhysics 에 있습니다.
(이 샘플 파일은 Corona build 2012.731 이후 버전에 있습니다.)
- 로컬 content를 load 할 때 약간의 버그가 있습니다. 이 버그는 조만간 수정될 예정입니다. -
***** native.newVideo()usage
native video object는 리스너가 없기 때문에 이해하가 더 쉽습니다.
비디오 객체를 생성하고 위치를 찾거나 이동시키거나 회전시키거나 physics를 적용하는 일만 하면 됩니다.
그리고 이 모든 일이 끝났으면 remove시키면 됩니다.
신택스는 아래와 같습니다.
native.newVideo( left, top, width, height )
보다 자세한 내용은 여기를 참조하세요.
아래 예제는 비디오 객체를 생성하고 비디오 파일을 로딩하고 특정 지점을 찾고 움직이고 회전시키고 그리고 최후에는 이 객체를 remove 시키는 예제 입니다.
local video = native.newVideo( 0, 0, 220, 275 )
-- load a video and jump to 0:30
video:load( "myvideo.m4v", system.DocumentsDirectory )
video:seek( 30 )
-- play video and move/rotate
video:play()
video.x = 50
video.y = 150
video.rotation = 90
-- pause the video and remove
video:pause()
video:removeSelf()
video = nil
예제 파일은 SampleCode/Interface/VideoViewPhysics 에서 볼 수 있습니다.
(이 샘플 파일은 Corona build 2012.731 이후 버전에 있습니다.)
보다 자세한 사항은 API documentation을 이용하세요.
위 내용 원본은 여기에 있습니다.
이 원본을 바탕으로 제가 간단히 요약 번역 했습니다.
native display들은 시뮬레이터에서 지원하지를 못합니다.
그리고 Corona build 2012.731 버전은 2012년 1월 24일 올라왔고 아직 유료 사용자에게 밖에 공개가 안 돼 있습니다.
다음에는 샘플코드를 분석해 보도록 하겠습니다.
반응형
'Corona SDK > Corona Doc' 카테고리의 다른 글
Corona Display Groups 101 (0) | 2012.03.01 |
---|---|
WebView, Video and Network Updates (3) | 2012.02.13 |
Tutorial: Text Input with Native UI (2) | 2012.02.10 |
system.openURL() 로 전화 걸기 (3) | 2012.02.03 |
New Game Center Request APIs (4) | 2012.01.29 |
Facebook Single Sign-On (2) | 2012.01.21 |
Game Center Integration (iOS) (2) | 2012.01.20 |
New, More Flexible ScrollView Widget (5) | 2012.01.15 |
CoronaSDK 2011.715 버전 Email, SMS 기능 추가 (0) | 2012.01.04 |
화면 전환 Storyboard API 개요 (0) | 2011.12.10 |