Touch ToggleButton¸¦ ÀÌ¿ëÇØ ScrollView¸¦ ±¸ÇöÇÑ´Ù. ÅÍÄ¡ ½ºÅ©¸°¿¡¼ µ¿ÀÛÇÏ´Â ScrollView¸¦ TouchScrollWidget Ŭ·¡½º·Î ¸¸µé¾ú´Ù. TouchToggleButton°ú TouchScrollWidget ÆÄÀÏ º¹»çTouchScrollWidget.hTouchScrollWidget.cpp TouchToggleButton.h TouchToggleButton.cpp ÆÄÀÏÀ» º¹»çÇÏ¸é ´ÙÀ½ÀÇ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. error C2079: 'UTouchScrollWidget'Àº(´Â) Á¤ÀǵÇÁö ¾ÊÀº class 'UI_TEST_API'À»(¸¦) »ç¿ëÇÕ´Ï´Ù. Çì´õ ÆÄÀÏ TouchScrollWidget.h, TouchToggleButton.h ÆÄÀÏ¿¡¼ UI_TEST_API¸¦ UMGDEMO_API·Î º¯°æÇÑ´Ù. ÅÍÄ¡ ¹öÆ°Àº ¾ÕÀå Touch Button (tutorial17.html)À» Âü°í ÇÑ´Ù. À§Á¬ ºí·çÇÁ¸°Æ® ¸¸µé±âÀ§Á¬ ºí·çÇÁ¸°Æ®¸¦ ÀÌ¿ëÇØ BP_ListItem, BP_ScrollBox¸¦ ¸¸µç´Ù.BP_ListItem : ScrollBox¿¡ Ãß°¡ ÇÒ ¾ÆÀÌÅÛÀÌ´Ù. Touch ToggleButtonÀº ÇÑ°³ Æ÷ÇÔ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. BP_ScrollBox : ScrollBox¿Í ¹öÆ°ÀÌ µÎ°³ Ãß°¡ µÇ¾î ÀÖ´Â ¸ðÀ½ÀÌ´Ù. BP_ScrollBox¸¦ ¸ÞÀÎ UI¿¡ ¹èÄ¡ÇÑ´Ù. BP_ListItem¿¡¼ ÇÑ°³ÀÇ Touch ToggleButtonÀº ²À Ãß°¡ ÇØ¾ß ÇÑ´Ù. ±×·¡¾ß TouchScrollWidget¿¡¼ ¸Þ¼¼Áö¸¦ ó¸® ÇÒ¼ö ÀÖ´Ù. BP_ScrollBox¿¡¼ ScrollBoxÀÇ ½ºÅ©·Ñ¹Ù ¼û±â±â"Scroll Bar Visibility"¸¦ Collapsed·Î ¼³Á¤ ÇÑ´Ù."Ç×»ó ½ºÅ©·Ñ¹Ù Æ®·¢ Ç¥½Ã"¸¦ üũ¸¦ ÇØÁ¦ ÇÑ´Ù. C++ MyScrollWidget Ŭ·¡½º »ý¼º¾ð¸®¾ó ¿¡µðÅÍ¿¡¼ TouchScrollWidgetÀ» »ó¼ÓÇÑ MyScrollWidgetÀ» ¸¸µç´Ù.BP_ScrollBoxÀÇ ºÎ¸ð Ŭ·¡½º ¼³Á¤BP_ScrollBoxÀÇ ºÎ¸ð Ŭ·¡½º¸¦ MyScrollWidget·Î ÁöÁ¤ÇÑ´Ù.BP_ScrollBoxÀÇ TouchScrollWidget Ä«Å×°í¸® ¼Ó¼º ÁöÁ¤"Button Down Name" : °èÃþ±¸Á¶¿¡¼ ´Ù¿î ¹öÆ°ÀÇ À̸§À» ÁöÁ¤"Button Up Name" : °èÃþ±¸Á¶¿¡¼ ¾÷ ¹öÆ°ÀÇ À̸§À» ÁöÁ¤ "Scroll Box Name" : °èÃþ±¸Á¶¿¡¼ ScrollBoxÀÇ À̸§À» ÁöÁ¤ C++ UScrollItem Ŭ·¡½º »ý¼º¾ð¸®¾ó ¿¡µðÅÍ¿¡¼ UserWidgetÀ» »ó¼ÓÇؼ ¸¸µç´Ù.BP_ListITem BP_ListItemÀÇ ºÎ¸ð Ŭ·¡½º ¼³Á¤BP_ListItemÀÇ ºÎ¸ð Ŭ·¡½º¸¦ UScrollItem·Î ÁöÁ¤ÇÑ´Ù.MyScrollWidget Ŭ·¡½º¿¡¼ ¾ÆÀÌÅÛ Ãß°¡¾ÆÀÌÅÛÀ» Ãß°¡ ÇÒ¶§´Â UTouchScrollWidget::AddChild ÇÔ¼ö¸¦ ÅëÇؼ Ãß°¡ ÇØ¾ß ÇÑ´Ù.Çì´õ
void AddItem(FString str); void UMyScrollWidget::AddItem(FString str) { FStringClassReference SBWidgetRef(TEXT("/Game/UI/BP_ListItem.BP_ListItem_C")); if (UClass* WidgetClass = SBWidgetRef.TryLoadClass<UUserWidget>()) { UUserWidget* UserWidget = CreateWidget<UUserWidget>(GetWorld(), WidgetClass); UScrollItem* ListItem = Cast<UScrollItem>(UserWidget); if (ListItem) ListItem->SetItem(str); UTouchScrollWidget::AddChild(UserWidget); } } MyScrollWidget Ŭ·¡½º¿¡¼ Ŭ¸¯ ó¸®
ClickItemÀº UTouchScrollWidgetÀ» »ó¼ÓÇÑ °¡»ó ÇÔ¼öÀÌ´Ù. |