고수님들께 정중히 여쭤봅니다.. > 자유게시판

자유게시판

고수님들께 정중히 여쭤봅니다.. 정보

고수님들께 정중히 여쭤봅니다..

본문



위 그림은 삼성 ST50 프로모션 웹사이트인데요...

(http://www.samsungcamera.com/st50)

이번에 웹을 제작할때 이런 형태로 만들어보고 싶습니다...

플래시로 제작 안하고 그냥 웹으로 제작한다면,

윗 메뉴바 부분은 topmargin을 0으로 주고,

가장 아래 있는 About Samsung ST50 이 있는 부분은 레이어로 만드는 것이 맞나요?

마지막으로.. 가장 위 오른쪽 구석에 있는 오렌지색 박스 2개는 어떻게

만들어야 하나요? 창을 줄여도 오른쪽을 기준으로 항상 같은 위치에 있던데...

이것도 레이어로 만드는 것인가요?


너무 많은 것을 질문드리네요... 아직 많이 생소하네요...


*아 참, 지난번 답변주셨던 닥본사님, 엔피씨님 그리고 도레미님께 감사드립니다...

덕분에 책도 주문하고 지금 한창 열공중입니다 ^^
추천
0

댓글 20개

많은 분들이 이런 질문을 많이 하시는데요 그누보드가 아니더라도 ..

사실상 플래시는 플래시로 만들었을때 저런 느낌이 나는 것입니다.
즉 일반적으로 저렇게 레이아웃을 짠다고 한들 저런 분위기 자체가 날 수가 없습니다.
그렇기 때문에 많은 분들이 플래시로 된 사이트를 보여 주시는거겠죠 일반 사이트가 아닌 ..

많은분들이 하시는 질문중 가장 흔한 질문이 사이트는 플래시 사이트를 보여 주시면서 ..
플래시를 쓰지 않고 저렇게 구현을 하고 싶다라고 질문을 하시거나 제작 의뢰에도
간혹 올라 옵니다만 .. 정확한 답변으로는
하지만 레이아웃으로 제작은 가능 할지언정 저런 분위기 자체가 나올 수 없습니다.

그렇기 때문에 플래시를 사용하는 것이구요 ..
좋은 조언 감사드립니다...

역시 아직 초보라 생각이 깊지 못하네요...

그렇다면 플래시로 제작할땐 각 부분을 나누어서 플래시 파일 4~5개를

레이아웃 하는 것인가요?
플래시이던, 뭐던, as던 js던 다! 레이어 위치 선정하는 프로그래밍은 똑같습니다.
굳이 플래시가 아니더라도 똑같이는 물론, 짧은 코드로도 더 나은 구조로 만들 수 있습니다.
올플래시는 레이어 자체를 사용하지 않습니다.;;

굳이 플래시가 아니더라도 똑같이는 물론 짧은 코드로도 더 나은 결과물을 만들 수
있다면 굳이 플래시를 사용하지 않겠죠 ;;
레이어를 사용하지 않으면 오른쪽 상단에 오렌지색 박스같은 경우나

아래 메뉴바는 어떻게 고정시키는 것인가요 =ㅅ=?
캐논협주곡님... 일단 자리만 잡아놓고 이미지로 넣어보고 안되면

플래시로 넣어야겠군요...

좋은 조언 감사드립니다 큰 도움이 되었습니다 ^^
클라이언트들이 올플사이트 벤치마킹후 제작금액을 말씀드리면 제작비용에 곤란을 겪으며
느낌만 비슷하게란 말을 수도없이 들어온듯 하네요.

캡쳐한 이미지만 놓고 본다면 얼추 깔끔한 느낌으로 뽑아내실수도 있을듯 합니다.

질문하신 우상단 오른쪽바는 고정레이어를 사용하셔서 구현하시면 될듯합니다.
중앙정렬방식의 사이트는 아닌듯해 구현하시는데는 아무런 문제가 없을듯 합니다.
중앙절렬방식도 가능합니다만 조금더 귀찮아 지는건 사실이죠^^

하단부에 인포메이션 느낌의 about어쩌구는 투명플래시를 크게 하단부에 항상 고정시키시면
마우스오버시 비슷한 효과를 주시기 용이해보입니다.
물론 겹치기 때문에 레이어로 앉히셔야 합니다.

결론적으로 캡쳐한 이미지 기준 올플로 안만들고 작업하셔도 상당수 비슷한 느낌으로 제작 가능할듯 합니다.
다른의견의 분들도 많겠지만 저의 경우 캡쳐이미지 기준 비슷하게 뽑아내는 작업이 큰작업은 아닐듯 하네요.

허나 올플사이트는 올플일때 가장 발란스가 좋습니다.
자세히 설명해 주셔서 감사합니다...

일단 비슷하게라도 한번 만들어보고 안되면 어쩔 수 없이

플래시로 만들어야겠네요...


사실 올플래시로는 아예 만들어본 경험이 없으니.. 겁부터 덜컥 나서...

질문을 올렸어요...

다시한번 감사드려요 ^^ 큰 도움 되었습니다..
올 플래시라고 별거 없습니다. 플래시 다룰 줄 알면 특히. 동적인 요소를 강요하자면 as 다룰 줄 아셔야 하고. 자바스크립트 중급정도 되면. 액션스크립트 그리 어렵지 않습니다.

플래시로 제작시 각 메뉴나, 요소들의 위치 x,y 좌표는 css 좌표나 똑같습니다.
그리고 통플래시를 제작하는 것은, 여러가지 이유가 있습니다. 설명은 따로 하지 않겠고요.

충분히 css 나 js 로 하실 수 있을 것 같습니다. ^^
플래시는 x값과 y값을 어디에 줬는지에 따라서 다르겠지만 x값과 y값으로
무비클립이 자동으로 따라 갑니다.

즉 제가 플래시 짠 코드를 예로 잠시 보여 드리자면 ..

System.useCodepage = true; // xml로드시 한글이 먹히지 않는 문제 해결
fscommand("allowscale", false);  // 화면 늘어남 방지.
function goFullScreen() // 풀스크린 버튼을 위하나 추가
{
    Stage.displayState = "fullScreen"; // 풀스크린
} // End of the function
function exitFullScreen()
{
    Stage.displayState = "normal"; // 원상태로 돌아 온다
} // End of the function
function menuHandler(obj, menuObj) // 마우스 오른쪽 핸들러 풀스크린
{
    if (Stage.displayState == "normal")
    {
        menuObj.customItems[0].enabled = true;
        menuObj.customItems[1].enabled = false;
    }
    else
    {
        menuObj.customItems[0].enabled = false;
        menuObj.customItems[1].enabled = true;
    } // end else if
} // End of the function
var fullscreenCM = new ContextMenu(menuHandler); // 마우스 오른쪽 풀스크린
fullscreenCM.hideBuiltInItems();
var fs = new ContextMenuItem("MSTUDIO FULL SCREEN MODE", goFullScreen);
fullscreenCM.customItems.push(fs);
var xfs = new ContextMenuItem("MSTUDIO FULL SCREEN EXIT MODE", exitFullScreen);
fullscreenCM.customItems.push(xfs);
_root.menu = fullscreenCM;
function fn_change(mcName)
{
    _root.menuSW = false;
    aryLoad[0].onEnterFrame = function ()
    {
        this._alpha = this._alpha - 20; // 처음 시작되는 스크린 알파값
        if (this._alpha <= 0)
        {
            _root.menuSW = true;
            delete this.onEnterFrame;
            mcLoader.loadClip(_root.loadURL + mcName, aryLoad[0]);
        } // end if
    };
} // End of the function
_root.loadURL = "xml경로";
_root.nc = new NetConnection();
_root.nc.connect(null);
_root.ns = new NetStream(nc);
_root.ns.setBufferTime(2);
_root.nowTarget = 1;
_root.firstLoadProduct = 0;
_root.menuSW = true;
var startX = Stage.width;
var space = 30;
var menuWidth = mc_menu._width;
var footerWidth = mc_footer._width;
var footerHeight = mc_footer._height;
var goMvioHeight = mc_goMSTUDIO._height;
var target1 = (startX - Stage.width) / 2 + space;
var target2 = (startX - Stage.width) / 2 + (Stage.width - menuWidth - 10);
var target3 = (startX - Stage.width) / 2 + (Stage.width - footerWidth - 10);
var startY = Stage.height;
var spaceY = 30;
var targetY1 = (startY - Stage.height) / 2 + spaceY;
Stage.scaleMode = "noScale";
var myListener = new Object();
myListener.onResize = function ()
{
    if (Stage.width > 850 && Stage.width < 1273)
    {
        target1 = (startX - Stage.width) / 2 + space;
        target2 = (startX - Stage.width) / 2 + (Stage.width - menuWidth - space);
        target3 = (startX - Stage.width) / 2 + (Stage.width - footerWidth - space);
    } // end if
    if (Stage.height > 415 && Stage.height < 889)
    {
        targetY1 = (startY - Stage.height) / 2 + spaceY;
        targetY2 = (startY - Stage.height) / 2 + (Stage.height - goMvioHeight - space);
        targetY3 = (startY - Stage.height) / 2 + (Stage.height - goMvioHeight - space);
    } // end if
};
Stage.addListener(myListener);
this.onEnterFrame = function ()
{
    if (_root.menuSW)
    {
        mc_logo._x = mc_logo._x + 3.000000E-001 * (target1 - mc_logo._x);
        mc_menu._x = mc_menu._x + 3.000000E-001 * (target2 - mc_menu._x);
        mc_goMSTUDIO._x = mc_logo._x;
mc_time._x = mc_logo._x;
        mc_footer._x = mc_footer._x + 3.000000E-001 * (target3 - mc_footer._x);
        mc_logo._y = mc_logo._y + 3.000000E-001 * (targetY1 - mc_logo._y);
        mc_menu._y = mc_logo._y;
        mc_goMSTUDIO._y = mc_goMSTUDIO._y + 3.000000E-001 * (targetY2 - mc_goMVIO._y);
mc_time._y = mc_time._y + 3.000000E-001 * (targetY2 - mc_time._y);
        mc_footer._y = mc_footer._y + 3.000000E-001 * (targetY3 - mc_footer._y);
    } // end if
};
_root.loadSW = 1;
_root.buttonSW = true;
_root.aryLoad = [mc_load1, mc_load2];
var loadListenerObj = new Object();
var mcLoader = new MovieClipLoader();
mcLoader.addListener(loadListenerObj);
loadListenerObj.onLoadComplete = function ()
{
    _root.menuSW = true;
    aryLoad[0].onEnterFrame = function ()
    {
        this._alpha = this._alpha + 20;
        if (this._alpha >= 100)
        {
            delete this.onEnterFrame;
            _root.buttonSW = true;
            this.gotoAndPlay(2);
        } // end if
    };
};


위의 코드를 보시면 스테이지 값을 계산해서 해당 로고라든지 메뉴 그리고
하단에 카피라이트가 계산되어 있죠 ..

즉 플래시를 로드부비에 인스턴트 네임을 걸어 주고 .. 해당 인스턴트 네임을 토대로 액션 스크립트를 짜는 방식입니다. 즉 저 로드무비시 해당 인스턴트 무비클립은 짜여진 액션 스크립트 대로 해상도의 x값과 y값에 비례해서 자동으로 따라간다는 이야기죠 ..

일단 위의 액션스크립트를 짜시고 로드부비와 언로드 무비에 대해서 공부를
하신다면에 .. 무비클립에 인스턴트 네임을 위와 같이 줘보시고 실험해 보세요 ..
그럼 답 나올겁니다.
에고야... 이런 방식으로 프로그래밍 하게 되어있군요...

어렵지만 이건 차근차근 해봐야겠어요.. 뭔든지 처음이 어려우니...

이해하는데만 몇달 걸리겠군요...


감사합니다 ^^ 가르쳐 주신 내용을 토대로 공부해보겠습니다..
나중에 플래시에 대해서 기초를 아시고 나서 플래시 파일 여신 다음에
첫프레임에 제가 알려 드린 코드를 삽입하시고 나서

플래시 창에 무비클립 4개를 만드시고 나서 거기에 인스턴트네임을
위와 같이

mc_logo
mc_menu
mc_goMSTUDIO
mc_footer

이렇게 한번 줘보세요 ..

아무데나 배열해 놓고 무비테스트를 해보시면

mc_logo 무비클립은 왼쪽 상단에
mc_menu 무비클립은 오른쪽 상단에
mc_goMSTUDIO 무비클립은 왼쪽 하단에
mc_footer 무비클립은 오른쪽 하단에

자동으로 찾아 가는걸 보실 수 있으실 겁니다. 해상도가 변경이 되어도 ..

보여주신 사이트 처럼 ..
에구야... 너무너무 감사드립니다...

당장 지금 작업하는 사이트만 마무리되면

해보고 싶은 욕구가 솟구치네요...


정말 감사합니다 ^^
전체 196,490 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT