Garry's Mod Wiki

Revision Difference

DBubbleContainer#517308

<panel> <name>DBubbleContainer</name> <parent>DPanel</parent> <description>A transparent gray speech bubble panel made up of a rounded box and point coming from the bottom.</description> <preview>DBubbleContainer_preview.jpg</preview> </panel> <example> <description>Creates a bubble container panel in the middle of the screen. The background <page>DPanel</page> is used to allow better control of the dialog point position.</description> <code> --Background panel BGPanel = vgui.Create("DPanel") BGPanel:SetSize(300, 170) BGPanel:Center() BGPanel:SetDrawBackground(false) -- The bubble container local DBubbleContainer = vgui.Create("DBubbleContainer", BGPanel) -- Set the dialog point 50 units from the left and make the entire bubble 280x150 pixels. DBubbleContainer:OpenForPos(50, 0, 280, 150) </code> </example> <example> <description>Creates a panel with Bill from Left 4 Dead talking through a speech bubble.</description> <code> -- Image of Bill local dimg = vgui.Create("DImage") dimg:SetPos(0, ScrH()-512) dimg:SetImage("spawnicons/models/survivors/survivor_namvet_128.png") dimg:SizeToContents() -- Determine placement of bubble container based on image dimensions local dimg_x, dimg_y = dimg:GetPos() local dimg_w, dimg_h = dimg:GetSize() dimg_x = dimg_x + dimg_w/2 dimg_y = dimg_y + dimg_h/2.5 -- Bubble container size local bubble_w, bubble_h = 150, 100 -- Create bubble container local bubble = vgui.Create("DBubbleContainer") -- Open it over Bill image bubble:OpenForPos(dimg_x, dimg_y+bubble_h-32, bubble_w, bubble_h) -- Add text to bubble local lbl = vgui.Create("DLabel", bubble) lbl:SetPos(5, 5) lbl:SetSize(150, 50) lbl:SetWrap(true) lbl:SetFont("GModNotify") lbl:SetText("Does this example get the point across?") lbl:SetDark(true) </code> <output></output>⤶ <output><image src="DBubbleContainer_example2.jpg"/></output>⤶ </example>