Tổng hợp ý nghĩa class trong Unreal Script

Go down

Tổng hợp ý nghĩa class trong Unreal Script

Bài gửi  honglong99 on Thu Jul 08, 2010 10:40 am

Wink Mọi người cùng nhau đóng góp kiến thức class trong Unreal Script nhé. Mọi đóng góp mình sẽ xem và edit lại bài của mình cho tốt hơn.
Tạm thời mình sẽ up những gì mình hiểu và biết, nếu các bạn thấy nó sai hoặc thiếu ( như thông tin cần rõ ràng, hoặc ví dụ thì cứ comment để mình update lại )
Ngoài ra còn nhiều thứ như variable, function .... mình sẽ lập topic riêng. Dưới đây là link tham khảo:
+http://udn.epicgames.com/Three/UnrealScriptReference.html#Classes
+http://udn.epicgames.com/Three/MasteringUnrealScriptClasses.html
+http://wiki.beyondunreal.com/Class#Modifiers
Tất nhiên mình không hy vọng ôm hết Class, Variable, Function mà mình cần những bạn khác có thể lập để chia ra mà tìm hiểu.

Một trong các ví dụ đơn giản nhất là : class MyClass extends MyParentClass; >>> cái này chắc khỏi giải thích vì nó là cái đơn giản nhất và quan trọng nhất trong mỗi script, mỗi script sẽ do một class chịu trách nhiệm. Thông thường nếu class đó độc lập không phụ thuộc class nào thì không cần extends , các bạn có thể xem ở file Object.uc sẽ hiểu, nhưng chúng ta không ngồi viết lại tất cả mà chúng ta cần tái sử dụng từ class cha. Một ví dụ cao hơn như :
Code:
class Actor extends Object
   abstract
   native
   nativereplication
   hidecategories(Navigation);
hay
Code:
class HUD extends Actor
   native
   config(Game)
   transient
   dependson(Canvas);
vậy chức năng của các native, abstract... nó là gì. Đó là ý nghĩa của topic này.

1. Abstract: Abstract sẽ nói với engine rằng class này không được phép đặt trong level ( map ) bằng bất kỳ trường hợp nào. Thông thường, bạn có thể sử dụng 1 class trong level bằng Actor Classes trong Content Browse, nhưng có một số class bạn không bao giờ đụng tới mặc dù class đó khá quan trọng. Đơn giản vì nó chỉ là phần cơ bản. Ví dụ thế này, bạn có 1 bản thiết kế một chiếc xe : chỗ ngồi, bánh xe, nội thất.... Nhưng bạn sẽ không thể đưa cái bản thiết kế đó vào trong level, đơn giản vì nó là bản thiết kế chứ ko phải là một xe hoàn chỉnh, nói cách khác nó là xe trong tưởng tượng Laughing thì lấy gì bạn lái. Nhưng từ bản thiết kế đó, bạn tạo ra một chiếc xe như mong muốn ( hình dáng khác nhau thì tùy Mesh ), lúc này bạn sẽ tạo 1 class ( xe ) và sử dụng class cha ( bản thiết kế ), lúc này xe đã có hình dạng thực thể và bạn có thể dùng trong level. Bạn có thể tìm hiểu thêm 1 số class như thế trong UDK như : Actor, Controller, Pawn...

2.Placeable: Placeable sẽ nói với engine rằng class này có thể được tạo trong Unreal Editor và sử dụng trong level, UIScene, Kismet. Cờ này sẽ áp dụng cho cả các class con, Class con nếu ko muốn sử dụng cờ này, thì dùng NotPlaceable

3. NotPlaceable: Tác dụng để tắt cờ Placeable ở class con không muốn dùng.
4. Transient, NotTransient:: Một số trường hợp class nên xài " transient". Transient objects chỉ có thể tồn tại khi chạy nhưng không phải trong packages files. Ví dụ bạn có thể tham khảo class HUD.uc , Canvas.uc.... Transient cũng như Placeable đều truyền cho các class con, class con nào muốn tắt cờ này thì sử dụng NotTransient. Mặc định các class tạo ra đều là NotTransient.
5. DependsOn(ClassName[,ClassName,...]) : ý nói các ClassName sẽ được Compile trước khi compile Class này. Đơn giản như thế này, bạn có 1 struct, hoặc một Enumeration được viết trong một classname nào đó, và bạn muốn sử dụng trong class này thì trước khi compile class này phải compile Classname trước, nếu ko nó sẽ không biết Struct ấy hoặc Enumeration đó đào đâu ra.

honglong99

Tổng số bài gửi : 24
Join date : 08/07/2010

Xem lý lịch thành viên

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết